Clarify when we are using int vs float and move decoders up a level.

Fixed #4 - the Decoder function type signature actually belonged one
level higher, in the application, since there's no capability of
actually using it in this library at the moment.