Added lpc window theme image to CMakeLists

Reviewed-by: Ablu.
Enabled specials window by default
Fill the window also in software rendering mode

Mouse handling is broken when the game only fills a subset of the screen,
and this doesn't look very nice either. Do the same as done in OpenGL
mode for now.
Fixed pixel alignment drawing glitches in OpenGL mode

At some window sizes, lines would flicker in between the tiles. This
happened when the window size was not dividable by the scaling factor.

Fixed by setting a slightly smaller viewport in this case (which will
hopefully not cause other issues).
Removed options to configure particle  and ambient effects

As discussed on IRC we agreed to remove the particle and ambients effects
options. They are important for the game play and should stay enabled.

Also moved the remaining options right to the resolution selection since there
is enough space for them now.

Change is tested.

Reviewed-by: bjorn.
Themed the remaining ui for the lpc
Replaced font with DejaVu Serif Condensed

Looks nicer in the game in my opinion.
Revert "Leave the default values for OpenGL texture filters"

This reverts commit 137ade7226af37d073a5755b90181275664dd65c.

Turns out that when leaving the default values, the textures won't
actually work since they are incomplete unless the mipmaps are generated
(since GL_TEXTURE_MIN_FILTER is GL_NEAREST_MIPMAP_LINEAR by default).

For now we don't want to generate mipmaps anyway since we're going for a
pixely look, so revert the filters back to GL_NEAREST.

The reason this had worked for me is because on my system the texture
type GL_TEXTURE_RECTANGLE_ARB is used instead of GL_TEXTURE_2D and this
texture type does not support mipmaps.
Fixed indentation of Image::_GLload
Fixed mixup of parameter types in OpenGL code

Textures were not rendering correctly on cards that did not support the
GL_ARB_texture_rectangle extension, since the alternative code path was
passing ints as floats and floats as ints to OpenGL.
Some cleanups in OpenGL code

* Removed empty and unused function `setTargetPlane`
* Removed duplicated enabling of `GL_VERTEX_ARRAY`
* Removed strange smoothing code from `drawRescaledImage`
Added support for ARB_texture_non_power_of_two extension

If the graphics driver supports this, there is no need to create
textures with power-of-two dimensions. It is then also preferred to use
regular textures than relying on the older GL_ARB_texture_rectangle
extension.
Removed manual calling of glFlush / glFinish

This should never be needed [1].

[1] http://www.opengl.org/wiki/Common_Mistakes#glFinish_and_glFlush
Specify a more specific image format when uploading textures

While simply specifying "4 components" works, it is preferred to specify
the actual image format like GL_RGBA8 in our case.

http://www.opengl.org/wiki/Common_Mistakes#Image_precision
Avoid copying surfaces unnecessarily for upload to texture

When uploading an SDL surface to an OpenGL texture, it was always making
a copy that had the desired size and pixel format. Now this copy is no
longer being made when the existing surface already has the target size
and pixel format.

In fact most images are already in 32-bit RGBA format after loading them.
Added handler to display text particles sent by server

Change is tested.

Reviewed-by: bjorn.
Prevented crash with nonexisting particle sprite.
Merge branch 'master' into lpc2012
Corrected the minimum height shown in the video options

Actually for me it doesn't list 640x360 anyway, but it might for some
people I guess.
Added an option to reduce input lag

Always enabled at the moment.