Add an error module, containing error handling.

The highlight of this module is the error class, which is an
exception that can be raised to report an SDL error.
Change to rect - 2 element rects, and argument name.

We can now create a rect from a two tuple, which gives x,y and w,h
that tuple. This is useful for cases where SDL uses just the size
or just the position from a rect.

to_sdl_rect can now take an argument name, which we can use to make
it clear which argument is wrong.
Add .blit().
Add .get_size().
Implement Surface.convert, .convert_alpha, and .get_masks.
Surface.copy(), and reorder Surface to match the pygame docs.
Implement Surface.scroll.
Use error class for exceptions, and specify types for function parameters.