Fix origin transform in DrawInternal with src rect

This change fixes a transform applied on the origin parameter
passed to DrawInternal, based on the ratio between the destination
rectangle and the texture width / height.

When a source rectangle has been specified, its size should be used
instead.
Fix edge-case when source rect has 0 width/height

Nothing would get rendered when the source rectangle had a width or
height of zero, whereas XNA does render something.
Added comments to Color
Color fix
Color comment fixes
Merge pull request #1174 from elisee/fix_spritebatch_draw_origin

Fix origin transform in DrawInternal with src rect
Merge pull request #1302 from Shqrdx/test

Added comments to Color
Merge pull request #17 from mono/develop3d

Merge back from develop3d