Moved Version enum to its own file.

There will be many places (e.g. all
Platform::*Application::Configuration classes) where Version will be
used without Context (and all GL stuff brought with it).
Added version() utility function.

Converts Version enum value to and from major/minor version number.
Platform: minor code deduplication, documentation and cleanup.
Platform: ability to request context version in Sdl2Application.
Platform: ability to request context version in GlutApplication.
Platform: no-op context version setter in NaClApplication.

Included only for compatibility with other platform toolkits.
Platform: remove #define None.

We need to live without that.
Platform: doc++
Platform: ability to request context version in *X*Application.
Platform: implement ES2 and ES3 support for SDL2 and X-based applications.

Currently XEglApplication and GlxApplication were requesting only ES2
context and SDL2 was not requesting anything in particular (but in
theory should work on ES-only systems flawlessly). Now explicitly
requesting ES3 if MAGNUM_TARGET_GLES3 is enabled and also explicitly
requesting ES in SDL2, so it is usable also with
MAGNUM_TARGET_DESKTOP_GLES.
package: building Sdl2Application also in es2desktop PKGBUILD.
Fix OpenGL ES-related documentation.
Verify that version retrieval went right.

Sometimes the context is created improperly and all gl* functions are
causing errors. Added check for that case.
Fixed compilation of tests on ES3.
Platform: fixed compilation of magnum-info on ES3.
package: added ES3 desktop PKGBUILD.
package: added es3desktop variant to Jenkins CI configuration.
Shaders: fix MeshVisualizer on ES3.
Shaders: somehow I need to enable the extension also on ES3.

Although the extension is fully implemented in ES3 itself.
Enable VAOs by default for ES3.

The fallback code is kept, as somebody might want to use the "possibly
faster" path sometime.