Lazy geometry

I've been using this locally so that I can skip over irrelevant shapes without having to parse the whole geometry.  Also a tweak to allow tests to run on Ruby 2