Actual working flasher (not exposed in the UI yet)
Added a storage class, to remember code and also other settings set via na options menu
Merge branch 'master' of https://github.com/jumjum123/EspruinoWebIDE into jumjum123-master

Conflicts:
	main.html
	manifest.json
Pulled out 'modules' code and added options for it
Added firmware update option to options menu
extended Options, and added process.Env

mainly changes in options
- made optionFields array available as Espruino.Options.optionFields
- extended options for optionFields
- id  id of field in formular (see optionBlocks for more information)
- module  name of module where option is used
- object  optional level
- field  fieldname in Espruino[module], or in Espruino[module][object]
- type  type of option field, right now we have text, JSON, radio,
check, select
- onLoaded  name of function to be called on loaded optionFields, see
webcam
- moved all descriptions for optionFields into modules they belong to
- added Espruino.moduleName.initOptions function to all modules having
options
- additional description for optionBlocks, where each module can have
several blocks
fields are:
- id  id for optionBlock (not used yet)
- htmlUrl  Url for html source handling inputfields for this block
- html  optional html can be given as plain html code
new module espruino_process
- on connect to com reads process.Env and stores in Espruino.Process.Env
- displays Env.BOARD on right above terminal window. Later on I will add
a button to switch to other boards
- information of Env added to info button in first tab
made webcam "optional", so default could be without. I'm pretty sure,
only you and a few people use webcam