Use matchgroup to highlight braces of string interpolation

This fixes an annoying regression where ktComplexInterpolation's end was never
matched because of a closing ktComplexInterpolationBrace
Support escape sequences in character literals and strings

According to Kotlin compiler sources, the following escape sequences are
supported at the moment: \t \b \n \r \' \" \$ \\ \uXXXX
Use conventional regex character classes
Extract and add some new modifiers/annotations