Use decoded names in ExtractUsedNames class.

The rest of incremental compiler uses decoded names so we should use
decoded names in ExtractUsedNames as well.

Fixes #5.
Extract names defined in the same compilation unit

ExtractUsedNames would exclude names that refer only to symbols defined
in the same compilation unit. That was meant to be an optimization so
we don't record names defined and consumed in the same source file.
However, as #3 shows, this is incorrect because given name can be both
locally defined and imported from other file which leads to ambiguity
error. In order to catch that error properly, we need to record all
names used in given compilation unit.

Fixes #3.