Initial commit of HTML5 + JS implmentation of an E2-like extensible framework for cross-platform audiovisual experiments.
Added the stub for the beginning of the playback code. Am submitting this before rewriting the connection class to store references to node instances as opposed to their DOM objects.
Cleaned up member names in the Applcation logic for handling new connection creation. The connection class now stores references to node instances, not their dom elements. This has also enabled a
straight-forward optimization of the logic for updating connections attached to a node when it's being dragged.
Working playback logic added. Updated the plugins to actually make sense.
Change method names to conform to JS best practices. Add key handlers
in prep for implementing deletion of connections and nodes.
Refactoring of the POC code to bring it up to snuff.

Lots of bugfixes, variable renaming, support for CTRL
as general delete-modifier key. Nice offset of one-to-many connections,
to prevent connection overlap with assoc. rendering issues when previewing
connection pending deletion etc.

Some redundant code deleted or condensed to bring the core back down
to a manageable and reasonable size.
Removed the nasty red bg-color from the float value label of the
test-emitter. Changed the default label text from 'No value' (too long)
to 'N/A' (better).
Support for node deletion when pressing ctrl, hovering over a plugin title
(it turns red) and right-clicking.
Added support for highlighting of connections attach to a node during pending delete.
Removed spurious (and now obsolete) debugging spew.
Added skeleton webgl support, switched to synchronous load of plugins specified in a json file.

Thus the set of plugins is now completely data-driven and new plugins can
be added to the total set without any modification of the core code.

The webgl support has only been tested on FF7/8 on Linux, but should work
the same on any browser / OS, with the possible exception of Opera.
Switch to contextmenu with support for sub-menus. Added basic debug functions.
Added flat shader plugin, added webgl debug context wrapper, updated the render mesh plug and fixed a context menu z-index issue.
Bug fixes in rendering code: PS/VS source swizzled by accident in flat shader implementation. Removed annoying debug flicker on node update.
Squashed the remaining rendering bugs in render_mesh and flat_shader.
Fixed annoying bug where the CTRL modifier key would stop working after playback.

Turned out it was the input elements trapping the document / window events when
they had focus, so they've been updated with a focus handler that makes
them blur themselves.
Added shader validation and proper debug output on link / validation failures.
Fixed bug in computation of renderer matrices and made them dynamically reflect any changes in the canvas size.
Changed the node deletion logic so both node and its connections are first remove when the mouse button is released.
Fixed the remaining rendering issues as well as a terrifying bug
that prevented the core from updating more than the first attached
output connection of a given slot.