Language detection

Added some rudimentary language detection so we could get syntax
highlighting. This won't work for everything, but it should work for
most common languages.