Add fallback for browsers without pushState

Previously, the defaultEnvironment would be set to an instance of
HashEnvironment if pushState wasn't supported. However, this was broken by
default if doing server rendering because those browsers wouldn't get their
initial path from window.location.