Point and size

The idea of this branch is to split Rectangle into three different uses: Rectangle, Point and Size. This branch adds the Point and Size classes to the project and replaces the instances of Rectangle for which the position or the size weren't used in order to reduce both the size of several objects and the number of member variables copied.

Point only contains x and y while Size only contains width and height. These are public variables. The classes are simple enough not to need getters and setters.

IMPORTANT: I created a C++11 branch but I just realized that most of the modifications are compatible with C++03. If needed, I can take care of the C++03 branch first and then propose more changes for the C++03 to C++11 port. Feel free to refuse this pull request if you feel that the C++03 branch would benefit from the Point/Size split and that I should work on it first.