Implement buffer mapping

Does a big part of #236
gl-rs unsafety fallout
Implement cube mapping.

Closes #307