Added surface blend modes

Also map camera/input stuffs. And not all blend modes are implemented,
just the popular ones.