[C] fix multi-line ranges

The context generation was crashing when the ranges span on
multiple lines with start column > end column. We now read the
files before generating the underlines. This enables to know
the size of the line in advance and underline everything.
There is still a problem because we read the saved files instead
of the compiled buffers.
TODO: find a way to read the compiled buffers and fix the code
in the function fetchSourceCode(...).