Public constructor for Framebuffer
Create class RenderTarget and use it.

Renames class Framebuffer to RenderTexture.
Extracts Canvas code to an internal class RenderScreen.
Change Canvas to a class that handles rendering to a RenderTarget.
Automatic bind/unbind render targets with canvas.
Add UpdateViewport to RenderTarget.

The viewport must be updated whenever the target is bound.
Fix some warnings in GLM.
Fix some warning in DrawTextLine
Added exceptions to RenderTarget.
Extract canvas target binding to a separate function. Also, more safety for constructor/destructor being called on wrong moments.
Adding support to bind a shader in Canvas.
Add methods to send uniforms and textures.
Fixed using GLuint in public header.
Try to decrease number of errored travis builds.
Query for the geometry/visual effect uniform location every time.
Added TextureUnit to represent bound textures.
Fix not initializing shader_program_ in Canvas
SendUniform overload for TextureUnit.
Add our own FindSWIG script to find swig3.0
Fixing SWIG.
Fix infinite constructor loop.
Ignore some warnings from swig generated code.