Use a dedicated IR node for Object.getClass().

Because it cannot be expressed in terms of anything else,
even for values known to be Scala.js objects.
Use normal methods instead of helpers in the IR.
Give proper IR implementations of hijacked classes.

This allows the optimizer to handle methods of hijacked
classes in a completely normal way, in particular equals
(which previously had a dedicated foldEquals handler),
but also toString, compareTo, etc.

When methods are not inlined, they remain, as usual, as
normal Apply nodes, with a receiver that is a hijacked
class. This will cause, as before, the desugaring to
produce calls to the helpers. So, methods that cannot be
inlined are redirected normally to helpers.
Merge pull request #1190 from sjrd/helpers-as-normal-methods

Use normal methods instead of helpers in the IR
Fix a few typos in scala.scalajs.js package object docs
Merge pull request #1193 from phaller/js-package-docs

Fix a few typos in scala.scalajs.js package object docs
Fix #1195: Do not export synthetic methods
Fix #1191: Reset caseaccessor flag on export forwarders
Merge pull request #1197 from gzm0/no-synth-export

Fix #1195: Do not export synthetic methods
Merge pull request #1196 from gzm0/fix-export-fwd-flag

Fix #1191: Reset caseaccessor flag on export forwarders