Fixed a bug with scopes starting at the same point

Such scopes can appear during splitting and trimming while computing
disjoint scopes. For example, consider this:

    (     () )
    ^--------^   (0, 10)
          ^      (6, 7)
           ^     (7, 8)

After the first split one gets

    (     () )
    ^----^       (0, 5)
          ^      (6, 7)
           ^     (7, 8)
           ^-^   (7, 10)

Also, the order of the scopes in the heap was not fully specified.
This is also corrected by this commit.
Added basic functions for updating scope colors in theme files

This is the only way for a Sublime plugin to do all coloring by itself:
manually update the relevant configuration files. Thus we can compute and
write down any colors we want. Not a clean solution, but meh... there is
no legal API for this.

Additional scopes are just added and left there as I have no idea when
they are to be removed. They are (presumably) unique for LispHighlighter,
so this should not be a problem if some random unused scopes are there in
the theme file.

Also need function to parse the theme file and extract colors for the
background and the current line. And probably some settings listener to
update the colors whenever the current theme is changed by the user.

I am not using a proper XML parser for this. It is easier to just assume
sane config file format that do _everything_ right. Maybe some day this
won't be true and I will have to add one.
Added functions to extract essential colors from a theme file

Well, that's not as readable as I wanted it to be, so maybe I should
consider rewriting this to proper XML parsing/serializing right now.
Replaced special transparent color with None

Also added support of transparent colors to compute_possible_scope_colors
to avoid doing any special filtering in the future.
Merged branch 'scope-colors'

Next goal: proper configuration