a layer atop HTML5's canvas context to better allow zooming and panning