Check for errors after every draw command
Print more useful information on errors

The "if cfg!(not(ndebug))" mirrors the implementation of
debug_assert_eq!, so it shouldn't be any more expensive than the macro
itself.
Merge pull request #373 from hannobraun/error-checking

Improve error checking
Rename ErrorType to GlError

GlError is more specific and sounds nicer to me.
Simplify GlDevice::get_error
Move creation code for GlError out of GlContext

This makes GlError useful outside of GlContext.