Fix for some serious bugs in C and C++ highlighter

&amp;lt; and &amp;gt; don't seem to work as they used to. So this patch replaces
them with the corresponding < or > sign like it was done in the clike
base language.

The pattern for macro statements was seriously flawed. It didn't allow
for macros with no argument like `#else` or `#endif`. This patch fixes the
problem and additionally adds support for multiline macros, which are
fairly common.

```c
#define FOO(a, b, c)    \
    do {                \
        do_stuff_here   \
        do_more_stuff   \
    } while (0)
```
Furthermore the path of the `#include` macro is highlighted as a string.
```c
#include <stdio.h>
#include "config.h"
```
C also allows for multiline strings in a similar way as multiline
macros.
```c
"This is a	\
multiline	\
string"
```