Implement Animation and Save/Load functionality

Today is a sad day for my git-history. Sorry for the beast of a commit.
I'll refactor later. I promise.
Hook up key shortcuts for animation controls
preview frame when mousing over frame icon
Introduce notion of global commands and listen for copy/paste key combos
Listen for commands on channel, and extract functions for handling events/commands
Handle copy command, trivially handle paste by simply printing clipboard contents
Rename draw-selection to draw-selection-outline
Drop comment about event listener registration.

Will make an issue in the repository instead.
Remove the weird translucent rect when making a selection
Don't clear canvas when drawing selection outline
Extract function draw-selection to ensure clipboard contents are drawn on paste
Implement paste command
Don't 'backfill' selection when creating selection via copy/paste
Extract function for handling app-state transactions
Ensure that selection is cleared when switching between frames
Checkin js file for testing
Introduce transparency via special pixel type
Draw appropriate background color to reflect translucent pixels
Backfill selections with transparent pixels
Provide way for clients to specify if transparent pixels should be pasted into document