Introduce `-XTemplateHaskellQuotes` pragma for subset of TH
Cabal needs to be able to detect whether a full or partial TemplateHaskell implementation is available. However, if
-XTemplateHaskell has no clear meaning we can't properly specify which language extensions a package requires nor make accurate decisions based on the availability of compiler features.
Moreover, the quotation subset of TemplateHaskell seems to be SafeHaskell compatible, so it makes sense to split it off into a sub-extension.