Feature binary formats

This is my second attempt at handling Binary formats.  It leaves everything to the user.

As an example of how to use this branch's feature, take a look at this: https://github.com/BadQuanta/sdl2_ffi/blob/master/spec/spec_helper.rb

I haven't written any tests.  Willing to do so if you'd like me to, but may need help.
The code is working for me, but like I said it hasn't been unit/functional tested.