ITextMark is not abstract anymore and has an icon and a priority.
This means separate breakpoint and location marker classes that
are only "plain" marks with icons and priorities are not needed.
BaseTextMark directly inherits from ITextMark, instead of owning
an ITextMark derived InternalMark.
Also, there is now ITextMark::paint() to make it a bit more flexible
then icon()[->paint()]