NovelScript Major Revision

--NovelScript
-Synchronous Events via triggerSynchronous method
-re-expose canvas for api usage
-added triggerSynchronous of draw event to decrease draw time (choppy
animation)
-Plugin fundamental change
-Exposure of self through this keyword instead
-Apply arguments from constructor
-exposure of roundRect and drawText methods

--Audio
-Re-applied plugin function to work with 'this'

--Removed
support for jWebAudio (not worth it because the Audio function is very
easy to code with)

--NovelButtons
-Support for canvas drawn buttons (synchronously)
-caching of mouse event whenever dirty is called, mousemove is called to
determine if there is a hovered button
-default gradient function
-Work in Progress: Image Maps for buttons
-exposed mouse:click and mouse:move event