Figured out how to support multiple viewports
Also fixed zooming, and made all input handling event based
Merge pull request #1 from bch46/stage-stuff

Figured out how to support multiple viewports