Hrde app

This PR includes a number of improvements, new features and bug fixes to the application formally known as the hazard viewer. 
If there are good reasons to assign the same obj to 3 different vars you can use the multiple assignation in the form:
var a = b = c = document.getEl...