Implement Above mode for Canvas. Absorb viewport setup.

Ignore-this: 9771b5373461f65243402c96e98edf61

darcs-hash:20141108151700-4d2ae-8d5dc06e0d42f044de09914ce97bc35dd0d50e68
Fix to clear up troublesome OpenGL state before rendering.

Ignore-this: 49d29303dceee6089291a838b4bd4f54

darcs-hash:20141108153922-4d2ae-84162958eee67733c885dc72ce871c5dcf04d270