Allow class names to be infix

Use case:

    class (:<:) (f : Type -> Type) (g : Type -> Type) where
      isSubFun : SubFunctor f g
javascript: allow more inlining
javascript: inline some missed cases
javascript: remove jsobject
javascript: better error representation
javascript: whitespace
javascript: optimize branches
Make prover respect showimplicits from IState
Render using console width
Use the pprint library to insert line breaks

The "Sized" class is not deleted because it is useful in other contexts,
such as eliding parts of error messages.

The "show" instances assume an absurdly wide monitor so as to not break
interactive editing.
Use pretty-printer to display :t for metavars
javascript: remove redundant eval on ops
javascript: inline some missed cases
Update .gitignore for new tests structure
Added "with" expressions to CHANGELOG
javascript: remove duplicated code
javascript: refactor
Merge pull request #821 from david-christiansen/infix-class-names

Allow class names to be infix
Merge pull request #823 from raichoo/javascript

Javascript
Merge pull request #827 from david-christiansen/semantic-pprint

Pretty-printer updates