Hide RasterCanvas and Figure from the public API
Remove kwargs from _RasterCanvas
Update copyrights
Add long version infor to module doc
Implement raster canvas with cairo instead of PIL

Pros:

 - Using pango to render texts *properly* is really simple with cairo
 - Cairo has multiple native vector graphics backends
 - Setting line width with PIL seems to be broken
Add svg output format
Implement renderers as simple functions instead of classes
Simplify API: render() is the only public function
Make IMAGE_FORMATS more simple for module users

Mapping of image format strings to render functions is just an
implementation detail, users of the module do not need to know anything
about it.
Rename module private functions
Remove cairo_ -prefix from internal names

Everything is rendered with cairo for now, the usage of cairo_ -prefix
was redundant.
Implement output format checking deeper inside, not in parse_args

The module can be used from the command line or by importing, moving the
format checking inside workhorse function ensured the format is checked
correctly in both cases.
Rename internal variable
Break size and scale to components

They are used as components everywhere, no need to use them as compound
values.
Rename image_format to output_format
Add long form counterparts to -i and -o
Raise OutputFormatError instead of Error for invalid formats
Handle errors in main
Raise error if output format is undefined
Remove useless dest= -argument for parser.add_option()