ProxySurface
A surface-like object which smartly handle out-of-area blitting.
Note that only one of parent and real_surface should be supplied.
Arguments:
parent -- a ProxySurface object
real_surface -- a pygame Surface object
Attributes:
mysubsurface -- a real and valid pygame.Surface object to be used
for blitting.
x, y -- if the proxy surface is to the left or above the parent
offset -- an option which let you scroll the whole blitted content