Add Scala.js specific scala.Symbol implementation

The cache that scala.Symbol uses to maintain symbol instances depends on
java.util.WeakHashMap and java.util.concurrent.locks.ReentrantReadWriteLock
which are neither supported and don't make sense for JavaScript.

Replace scala.Symbol's cache implementation with a simple js.Dictionary
backed cache to fix runtime issues, such as:

    [error]     TypeError: org.mozilla.javascript.Undefined@1221f81 is not a function, it is undefined. in
    [error] @file:///.../scala-js/scalalib/source/src/library/scala/Symbol.scala:48
    [error] @file:///.../scala-js/scalalib/source/src/library/scala/Symbol.scala:34