Refactor libinibin's InibinFile and Loader.

Should probably write a test before merging, because I don't know if my changes broke anything and there's a high chance I've maybe made an off-by-one error or something of the like.
Yea, I can see that. I was just really confused at first because it though it was the value itself, rather than a functor.

Maybe readValueFunctor?