M8 and scalajs 0.4

This depends on scala-js/scala-js#290 and lihaoyi/acyclic#2 . I'm just dropping it off for possible future use.