updated surface.resize to int convert argument
updated canvas to subclass surface
updated canvas with buffered surface optional
updated canvas for browser compatibility
updated surface constructor for optional arguments
updated docstrings