Add Point default constructor
Separate Rectangle code into header and impl

- Create a library for the util folder
- Add stream operator for Rectangle
Make Texture coopyable by using a shared_ptr

It makes sense to this since all sprites share the same texture.
Copies should still be avoided, as destruction causes locking.
Add JewelFactory class.

The code for generating jewels moved to the JewelFactory, which
can draw jewels from a uniform pool. More distributions could be
added as needed.
Merge branch 'master' of https://github.com/Teider/Bejeweled

Conflicts:
	src/core/jewel.cpp