Replaced GLEW with loader generated by glLoadGen, restructured GLExtensions.hpp for easier extension bookkeeping, make use of GLEXT definitions in Shader.cpp and Texture.cpp as well.
Cleaned up GL extension handling a bit more, replaced GL_MAX_TEXTURE_COORDS with GL_MAX_TEXTURE_IMAGE_UNITS, added extension support checks to the constructors of GL objects to warn users earlier of features their platform doesn't support, replaced manual wgl extension loading by glLoadGen as well, removed GLLoader.cpp and GLLoader.hpp from projects on OpenGL ES platforms.
Made use of glLoadGen for GLX extension loading as well, implemented flags for requesting a debug or core/compatibility profile context.
Removed check from Shader constructor, removed check from ContextSettings constructor, added warnings to all context creation implementations to warn the user of an incompatible mismatch between the context they requested and the context that was created, changed the default context version from 2.0 to 2.1.
Made sure the debug flag is propagated to all other contexts as soon as the first context with it enabled is created, enabled debug context creation for versions <= 2.1 if the system supports them, added extra checks to ensure that non-default context settings are correctly synchronized with GL following context creation.
Silenced superfluous warning about not being able to initialize platform GL extensions when creating the shared context.
Fixed a crash caused by the stack being unaligned when entering ThreadImpl::entryPoint if compiled by GCC or clang and run on Windows XP 32-bit. (#412)
Added missing closing brace, added program handle typedef to sf::Shader for Apple systems.
Regenerated GL loaders with a newer revision of glLoadGen.
Added a strikethrough text style to sf::Text. Fixes issue #243.
Merge branch 'bugfix/winxp_stack_align'
Fix a bug in the font system.

When the finding a rectangle for a glyph at a particular character size,
if the glyph happens to be wider than the current texture size, but less
high than the unused height in the texture, the texture will not be
correctly doubled in size (since only the height is checked).

In practice, this only occurs when finding the rectangle for the *very
first* glyph (so the texture is at its default 128x128 size): otherwise,
the glyph would need to be unusually wide compared to its height to
trigger the bug.

This will trigger a debug assertion in Texture::update(). With assertions
disabled, there are knock-on effects and most text at that character size
will fail to render.
Fixed a bug where calling Texture::getMaximumSize() before any GlResource is created would break context management.
Made a few functions in Texture and Shader a bit more thread-safe.
Added notes to documentation and adjusted OpenGL example as a workaround for the side effects of making static functions that require a context work. If the user wants to make use of both sfml-graphics and OpenGL, they should make sure sf::Texture::getMaximumSize() and/or sf::Shader::isAvailable() are called at least once before setting their final context active as those functions will cause a context switch the first time they are called.
Fixed Windows DPI scaling causing strange window behavior (#679).
Fixed SocketSelector not being able to accept sockets with IDs larger than FD_SETSIZE on Windows (#153) and added the same checks to other affected methods as well.
Renamed SocketSelectorImpl's members to use camelCase, removed unnecessary checks from SocketSelector::add and SocketSelector::remove.
Merge branch 'bugfix/socket_selector'
Added support for SetProcessDpiAwareness as well, on Windows versions that support it.