In VIPScanner_Command, move displaying of errors to a function of its own
Display errors also when invoking VIP-scanner's CLI with the analyze-theme subcommand

Some errors don't need any check to be run, they are diagnosed by the scanner itself
(like an empty theme directory). As these errors can cause the analyze-theme subcommand
to fail, they should be displayed.
Replace list of require_once statements by an autoloader

Loading all classes at once on startup would fatal if there
were missing dependencies in one of those files. Loading
files dynamically when the classes they contain are needed
allows for displaying error messages if a dependency can not
be found.
Replace BaseScanner::add_error() definition with BaseCheck's, and add note about redundancy

BaseScanner's version was apparently worse maintained, and thus buggier;
for example, it wouldn't set a default empty value for 'file', which
would later cause problems when displaying errors.
Make BaseCheck::get_line() static so we can use it without needing a BaseCheck object
Add PHP-Parser submodule
Use PHP-Parser instead of our own one

If PHP parsing fails, display a blocker type error.
Write ScopeVisitor to add scope information to node.
For future use by analyzers and scanners, have AnalyzedPHPFile
expose its AST via get_node_tree().
Show a warning if PHP-Parser cannot be found
Add note about PHP-Parser requirement to the readmes
Add InAssignmentVisitor to provide the 'in_var' attribute
Turn renderers into elements, and move files accordingly

Turn the renderers (except for the underlying AnalyzerRenderer) into 'elements',
which are given a Node (or subclass thereof; or filename, in case of
FileElement) object at construction time, and whose sole purpose is then to
make information available in a way that can be easily represented by
ElementRenderer.
Clean up PHPDoc strings
Handle method and static calls separately from regular function calls
Add MethodCodeElement
Rename PHPAnalyzer to CodeAnalyzer, and CustomResourceAnalyzer to ResourceAnalyzer

To align better with CodeElement, and ResourceElement. Also rename files.
Add HACKING.md containing a 'Glossary' and a 'Code Walkthrough'
Modify CodeAnalyzer and ResourceAnalyzer to directly operate on a node tree

To that end, an AnalyzerVisitor is used to create elements for relevant nodes
using two new factories, CodeElementFactory and ResourceElementFactory.
Remove AnalyzedPHPFileTest as it's obsolete

The interface ("code element hierarchy") it is testing is not used by VIP-scanner
anymore; instead, the node tree itself is traversed by analyzers.
Remove vip-scanner/class-token-parser.php as it's obsolete now