Delaying attribute string interpolation

Inspired by https://coderanger.net/derived-attributes/

I separated into two commits because the base_url interpolation is mostly aimed at more easily pulling PhantomJS from a GitHub release, which have a version baked into the URL. So if that's controversial perhaps you can just cherry-pick the other :smile: