hsl and hsla now require a % for the saturation and lightness values
division is now handled with the function math.div() rather than a slash
This removes many deprecation warnings
* Add extension-landing generalized styles, install scratch link component
* Make EV3 page use generalized stuff
* Use OS_ENUM file instead of class variable
* use extension-landing/os-enum in os chooser
* Use extension-landing class in extension-landing.scss
* Use extension-landing styles and components on microbit page
* Add view-specific styles
* Move install scratch link l10n strings to src/l10n.json
* Start moving steps display to its own components
* Finish initial pass at Step, Steps components for extension landing pages
* Create ProjectCard component
* Use new components on InstallScratchLInk component
* Use new components on EV3 page
* allow className prop in Steps component
* Use new components on micro:bit landing page
* imageUrl -> imageSrc in ProjectCard
* Create ExtensionHeader component and use it on micro:bit and EV3 pages
* Fix a spacing issue in the InstallScratchLink component
* Add ExtensionRequirements component
* Use ExtensionRequirements component on landing pages
* Remove requirements l10n string for ev3 page
* Move project card styles out of things-to-try section
* Don't render the number row in a step if compact and number props are not set
* Add ExtensionSection component
* Use ExtensionSection on ev3 and microbit pages
* Move state configuration to ExtensionLanding class
* Move tip box, screenshot styles outside of specific section
* Add TipBox component and use it on the EV3 page
* Use hr element instead of section-separator div
* Remove refactor TODO comments :)
* Add extension-landing generalized styles, install scratch link component
* Make EV3 page use generalized stuff
* Use OS_ENUM file instead of class variable
* use extension-landing/os-enum in os chooser
* Use extension-landing class in extension-landing.scss
* Use extension-landing styles and components on microbit page
* Add view-specific styles
* Move install scratch link l10n strings to src/l10n.json
* Start moving steps display to its own components
* Finish initial pass at Step, Steps components for extension landing pages
* Create ProjectCard component
* Use new components on InstallScratchLInk component
* Use new components on EV3 page
* allow className prop in Steps component
* Use new components on micro:bit landing page
* imageUrl -> imageSrc in ProjectCard
* Create ExtensionHeader component and use it on micro:bit and EV3 pages
* Fix a spacing issue in the InstallScratchLink component
* Add ExtensionRequirements component
* Use ExtensionRequirements component on landing pages
* Remove requirements l10n string for ev3 page
* Move project card styles out of things-to-try section
* Don't render the number row in a step if compact and number props are not set
* Add ExtensionSection component
* Use ExtensionSection on ev3 and microbit pages
* Move state configuration to ExtensionLanding class
* Move tip box, screenshot styles outside of specific section
* Add TipBox component and use it on the EV3 page
* Use hr element instead of section-separator div
* Remove refactor TODO comments :)