Split filename-based and language-based syntax highlighting APIs
Summary:
The major change here is the introduction of getLanguageFromFilename(). Then I
reorganized some things.
This needs some Phabricator-side changes although it doesn't break anything, it
just disrupts some highlighting.
Test Plan: Highlighted PHP, python, invalid-syntax PHP, and invalid-syntax
python in Paste.
Reviewed By: tuomaspelkonen
Reviewers: tuomaspelkonen, codeblock, jungejason, aran
CC: aran, epriestley, tuomaspelkonen
Differential Revision: 599