add checkbox,radio,marshal native wrapper args

* add createCheckbox, createRadio functions
* move marshalInterpreterToNative() to codegen.js and use it to marhsal arguments in makeNativeMemberFunction()
* remove lots of type casting in api.js that is no longer needed as a result of the change above
* tweak marshalNativeToInterpreter() to try/catch around property access - some DOM events contain properties that can't be read
* change generateDropletPalette() to categoryInfo can list the categories in order of appearance (instead of the reverse order)
* change createTextLabel() to take a third param (forId) so the label can be associated with a checkbox or radio button
* reorganize droplet palette into General / UI Controls / Canvas + the standard Control / Math / Functions
* fix responsive visualization height for webapp (required now that it is taller than the standard 400px)
* disable user selection within the created webapp (makes it behave more like a real app)