replace JS code generated by desugarer for typeclasses with PS code

While desugaring typeclasses, compiler was generating code in JS syntax. For all other backends this is a problem because we can't generate backend code from JS.

With this patch compiler generates PS syntax when desugaring typeclasses. I had to replace `Maybe JS` part of `ExternDeclaration` with `Maybe Value`, and add `RawValue` constructor to `Value` type for extern declarations given in backend code.