Replaced unsigned int with std::size_t for array indices/sizes

See http://en.sfml-dev.org/forums/index.php?topic=16747

The type `unsigned int` is replaced by `std::size_t` in places where values clearly represent array indices or sizes. This affects mainly the `sf::VertexArray` class and the `sf::Shape` class hierarchy. The change makes the API more consistent to existing parts like `sf::String`.

Points to consider regarding the decision on introducing this PR into SFML 2.2:
* It is an API change, although a backwards-compatible one. This means the documentation will be updated, in particular the one on the website will look different when this modification is merged. Thus, if this is merged shortly after 2.2, people will have an outdated online doc until the next release (although it will hardly make a real difference whether one reads `unsigned int` or `std::size_t`).
* It is not a critical bugfix. Currently, compiler warnings are generated on systems where `unsigned int` and `std::size_t` are different types. 
* The change is cosmetical and should not have noticeable implications on the behavior. In practice, an array of more than 4G vertices or points (where the size would not fit into `unsigned int`) would lead to completely different problems.

I would appreciate if the latest changes could be tested with fully enabled conversion warnings -- in my environment, `unsigned int` and `std::size_t` are the same types, so I don`t see potential warnings.