initial support for switch statements

- added case to JS parser to allow hints around switch
- hacked the JS to EJS translation to generate fresh variables
  for switch/cases, rather than "%v" and "%t"
- desugaring wraps world annotations around label expressions that
  correspond to switches ...
- ... and type checking augments this world as for function types