Fix casting bug
Make NewImage use discovered DataTypes

It no longer uses bit depth, float flag, etc.