rework of the hash controler

complete rework of the hash controler.
The controler uses now the hash-bang and creates 'proper' URLs. support
for the history.pushState API is not planned for this script but
creating a location controler is possible...