added pushState() support; page history doubles as undo stack.
refactored state management code a bit.
simpler logic for loading list of nouns and subtle patterns.
get rid of duplicate function from my last commit.
enclosed a global function in a closure.
don't trigger unused custom event