some optimisation of the projection:

- intrinsect screen rect is not computed twice anymore
- store transformed screen rect which the always correct rect even during scaling transformation
support float center