Camera must be attached to scene when attempting to draw.
Rectangle texture safety guards, doc++

 * Added asserts for unsupported mipmap and wrapping modes instead of
   previous blind behavior, moved more-than-one-liner functions into
   *.cpp
 * Updated documentation to reflect the rectangle texture inabilities to
   user, changed "unusable" to "incomplete" to be consistent with OpenGL
   terminology.
 * Removed some unneeded rows in documentation.
Added some TODOs.
Added Mesh::setProgramPointSize().
Added CubeMapTexture::setSeamless().
Fixed copypaste error.
Removed cube map coordinates from AbstractTexture::Target.

They are specified as CubeMapTexture::Coordinate anyway and this was
just misleading.
Documented required OpenGL version for some functionality.

The requirements are cross-referenced to dedicated page, similarly to
TODO and bug lists.

Also updated / improved documentation for some texture / image formats.
Added one more Buffer target.

Isn't used anywhere yet, just like a few other targets in Buffer.
Tesselation-related shader types.

Not used anywhere yet, just like geometry shader.
Added TODOs for easily implementable things.
Removed "wontfix" TODOs.

* Perspective is done in Camera itself, FBO postprocessing is user's job
  (yep, via subclassing).
* Magnum won't probably support Euler angles at all, only quaternions.
  http://twitter.com/ID_AA_Carmack/statuses/187964611159539712
Removed TODOs already done in gcc4.7 branch.

It cannot be done another way than with delegating constructors, so it's
no reason to keep this todo for gcc 4.6.
Adapted to OpenGL 4.2 renaming of GL_COPY_*_BUFFER.
Internal format of Renderbuffer and BufferedTexture is GLenum, not GLint.

Weird incompatibility with textures, where it is GLint.
Added support for three-component internal formats to BufferedTexture.

It's slight copypaste, because operator| doesn't accept typedefs and
extracting the algorithm from Renderbuffer would cause the code to be
overcomplicated and not prepared for more buffer texture/renderbuffer
format additions.
Hiding AbstractTexture::DataHelper class from documentation.
Fixed CubeMapTexture wrapping, simplified code of texture classes.

Texture now doesn't have it's own redundant copy of target, but uses the
one from AbstractTexture. Subsequently, all DataHelper functions now
accept "untyped" GLenum as target for better flexibility.

CubeMapTexture is not based on Texture2D anymore, all references to cube
map textures were removed from Target enums, so it's now not possible to
create cube map texture other way than using CubeMapTexture class, which
is how it should be done in first place. The wrapping mode fix is thus
now trivial.
Swapped size and type template parameters in Vector and Matrix.

Long-standing TODO. It is better to have size first, because it is more
significant than type (e.g. because there are Vector4<T> specializations
and not VectorT<4> specializations). It is also IMHO easier for user to
distinguish/read the type than before:

    Vector<float, 4>    ->     Vector4<float> // before
    Vector<4, float>    ->     Vector4<float> // now
Added safety dummy parameter to AbstractTexture::DataHelper::set*Data().

Previously it was possible to pass e.g. one-dimensional image to 3D
texture, now it will be reported by the compiler as error.