Use strings for code generators

Makes it easy to add third party CGs without requiring them in the repo
Added idris-c executable

Eventually, this should be the only way to invoke code generators (by
invoking "idris-foo Main.ibc" for the code generator for backend foo.

For the moment, this serves as an example 'main' for any new code
generators, and *all* new code generators should be implemented this
way.