Lazy proxies

This implements the lazy evaluation in Hammer with `HMRDelay` and `HMRDelayCombinator`, a pair of lazily-evaluated proxies.