Guess locale based on navigator.language

Also: define event handles in constructors so that other wakeUp()s can trigger events