Keep parser instances around when checking syntax.

When checking Ruby syntax the instance of CodeTools::Melbourne should be kept
around instead of using class methods. This makes it possible, in theory, to
retrieve the syntax errors similar to when parsing files.

Currently Melbourne seems to lose track of the syntax errors. That is,
CodeTools::Melbourne#syntax_errors returns an empty Array. Interesting enough
when running similar code in a Pry session the syntax errors are *not* lost.

See #3076 for more information.