Adding scope object

So this is initial necessary work before bringing in the interpreter/compiler. There needs to be a scope object that contains all the global functions and this will serve that purpose.

At the moment, it just adds all the functions/variables to the window object so LCL continues to work as normal.

I felt it was better to do this as a first change so we end up with more smaller merges.

It should all be working, but if people could give it a look over and play around with it. Especially the MIDI connect stuff as I've not had a chance to properly get that going yet so would appreciate more eyes