Implementation of TransparentBlt
This brings up an interesting thing however..it works perfectly under windows (tested on XP), but produces strange results under wine. MaskBlt seems to be broken, but I'm not quite sure what the cause is yet I figured I'd send this out incase the problem is obvious to anyone