Use defaults for null rects
Initial bitmap surface support
Handle invalid source surface

These are allowed to be invalid and should be treated as 1.0 for RGBA
This version just does nothing, but does not fail