GraphicsDevice should take a CanvasElement in its constructor

Fixes https://github.com/johnmccutchan/spectre/issues/26