Use version() utility function also internally.
It probably isn't good idea to have version checks as assertions.

In particular when building with CORRADE_NO_ASSERT the version doesn't
get checked at all, silently failing on null pointer somewhere else.
Fix version checks on OpenGL 2.1 and OpenGL ES 2.0.

Both don't have GL_{MAJOR,MINOR}_VERSION enums so we must decide whether
the version is older than OpenGL 3.0 / ES 3.0 either using
MAGNUM_TARGET_GLES2 preprocessor definition or checking for invalid enum
error and then we have to parse version string to ensure that the
version is not too old. On ES2 the version check wasn't present at all
(only optimistic hope), this makes it more hardened.