Fixes Pixel Alignment *DO NOT MERGE*

Can only be done in the projection functions, view port does not work for
Direct3D 9. Also adding is the only way to not break surfaces. Works
perfect in all graphics systems now in all cases, should hopefully work
good for other drivers as well.