This MR aims to implement the
/exercise/* pages in React.
For the most part, the previous layout and styling has been kept as is. Completing exercises unlocks features of the tool.
Left to do:
Thoroughly test and QA the exercises, make sure no unintended dodging of exercises is possible
Apply the fix that's been applied elsewhere here to fix the pipeline (npm version??)