Markdown: Shift block boundaries as text changes

Use Artifacts from the ArtifactCollection
instead of static ITextRanges for block
boundaries, so they will be shifted
appropriately.

This is also why HTML code block
highlighting is inconsistent; since
the CodeLineArtifacts aren't in the
collection, they don't get expanded.

Fixes issue in #294
Markdown: Fix HTML code block highlight expansion

Forward ReflectTextChange() calls to
extradited CodeLineArtifacts from
HTML code blocks
Added more Intellisense to the HTML id attribute
Added SVG preview window
Added descriptive tooltip
Fixed #300 - Enabled NuGet package restore