Add a Cabal library

Moves Core to Idris.Core

The library allows using the Idris' backend from other Haskell code.
For example, we could use Idris as a general TT compiler with multiple
backends:

    run :: Idris ()
    run = do
      let ddir = "libs" -- TODO: Use Idris.Util
      addImportDir $ ddir </> "prelude"
      addImportDir $ ddir </> "base"
      elabPrims
      _ <- loadModule stdout "Builtins"
      _ <- loadModule stdout "Prelude"
      pterm <- fmap (flip delab program) getIState
      elabDecls toplevel [makeDecl pterm]
      compile ViaNode "wow.js" runProgram

Everything but Main, Util, Pkg and Paths_idris is currently exported.
Merge branch 'master' into cabal-library

Conflicts:
	idris.cabal