No underscore

I thought you had mentioned wanting to drop the underscore dependency (maybe I misread #29?). Anyway, I'd rather not have the dependency if it's not terribly necessary. 

All I've added are some ES5 polyfills and one small helper function. I think the code is more readable overall.