Modernize

I've tried to prepare this for submission to RubyGems.  I'm not certain it's ready yet, but it should be much closer than before.