Adds specifier for const pointers

Issue: #32
Adds xxxVisited() functions for node and domain visitors

This is very convenient when we need to write a visitor
that should perform some action right after last element
had been visited.

Of course, these functions may be overridden in descendants
of complex visitors like NodeVisitor to track finish event
from each level of hierarchy.

Note however, that some handlers may be called several times
depending on the actual hierarchy. For example, descendant of
NodeVisitor will have it's nodesVisited() handler called after
each of domain is processed. Still, domainsVisited() will be
called only once, because it is a top of hierarchy.

The default implementation of handler functions does nothing.

Issue: #32
Adds isTrivial() check to TSmalltalkInstruction

Instructions may be divided into trivial and non-trivial.
Trivial instructions have no side effects. Their action is
very straightforward and obvious. For example, all push
instructions are considered to be trivial. They do what they do
and nothing more.

Chains of trivial instructions that appear to be dead code or
considered to be redundant may easily be removed without affecting
the method behavior.

For example pair of `PushXXX' and `Special popTop' instructions may
be removed with no worry whereas SendMessage innstruction may not even
if it's result is not consumed by instructions except `Special popTop'.

Note: Strictly speaking, MarkArguments so as PushBlock are not trivial.
However, their use patterns within method code are very well known.
We treat them as trivial for the sake of code clarity that handles them.

Issue: #32
Fixes GraphOptimizer not to remove non-trivial instructions

Some instructions like SendMessage may have their value ignored.
Still, we may not remove them because operation have side effects.

Only trivial instructions may be removed easily, others should be
proven to be dead or redundant in order to do so.

Issue: #32
Handles opcode::extended in TSmalltalkInstruction::isValueProvider()

Issue: #32
Adds some more coloring to the GraphVisualizer

Issue: #32