WIP Initial commit for Scratch programming extension support for #50
Not exactly working... but half of that is Scratch's fault.
WORKING Scratch Integration! Fixes #50
This still needs work, but all enpoints work in a closed loop fashion
Fix double park without callback bug
Add sanity check for non-existing toolnames
Add scratch demo program

Turtle graphics, draw a pentagon.
Add second scratch example, with subroutines
Implement changes suggested by @oskay in #50
* Start in center, and move absolute relative to center
* Add wait seconds block
* Add speed setting block
* Add absolute angle set
* Remove "reverse" option for move steps
* Add Block for moving to center (and left, top, bottom etc)
* Add "wash" block
* Add Motors off and Zero block
* Rephrase blocks to be more WCB specific and say "brush"
* Remove select tool block
* Break out rotate block into two rotate blocks with icons
Fix flipztoggle bit for pen height bug across firmware
TODO: Set this via version, if issue is better known
Add Poll data reader blocks fro X, Y and Angle
Change sizeMultiplier value from 20 to 10

For proper scaling with (0,0) centered on paper
Update Scratch examples

Remove outdated example
Update "turtle" graphics examples as per #50.
Add examples, reverse Y axis direction

Scratch defines (0,0) in the center of the screen, positive towards up,
right.
Change scratch support default to "true."

Makes it a little easier to test with this branch.
Rename scratch extension .s2e file to better represent its use case
No code changes
Whitespace cleanup from @oskay ;)
Add scratch Z height read boolean for pen up/down for #50
Change wording for scratch absturn for #50
Convert way too many calculations to a couple pre-calc values
Change name of extension shown in Scratch
Add "Move towards" relative x/y coord for #50