extend the macro syntax

If a macro argument is used with a preceding # ...

in embedded js code the macro argument will be replaced even if it is part of a string e.g.
  :macro testmacro { arg1 } :[ #arg1.log(":)") ]; ;
  testmacro console \ is converted to
  :[ console.log(":)") ];

in sforth code the macro argument will be converted into a string e.g.
  :macro testmacro { arg1 } #arg1 ;
  testmacro Test \ is converted to
  "Test
add support for calling (using new) js ctors with up to 8 arguments
add new macro instanceof (identical to js instanceof)
fix throw
various cleanups