Support Ruby 1.8

This should fix #150
I prefer `require_relative` over `require` mostly because that allows us to be more expressive as to what comes from this project vs what's coming from outside it, and it has the side benefit of being faster (`O(1)` instead of `O(n)` lookup time for requires). Though I just had the same thought that it should be outside the load path so as not to conflict with anything anybody else requires.