Remove duplicated display() class method from RendererGroup, fixing bugs

This is actually achieved by replacing the version in RenderGroup's parent
class AnalyzerRenderer (which was buggier, missing one esc_attr() and an
"\n" in bare mode) with the one from RendererGroup, and replacing one
is_null() check for the contents of a member variable by an isset() (which
extends the check to the existence of that member).
s/chlidren/children/
Move renderers to a directory of their own

This should help understand the code structure more easily.
Move scanners to a directory of their own
Fix a typo in a comment
Add PHP-Parser submodule
Write DirectoryNodeVisitor and ScopeVisitor to sort different parsed elements by their type and scope path
Use is[Private|Protected|Public]() to determine the visibility of classes and their members
Use isStatic() to determine if class members are static
Use isAbstract() to determine if classes and their member functions are abstract
Use the 'params' subnode to get a function's or class method's parameters
Use 'args' subnode to get a function call's arguments
Use the 'extends' subnode to determine the parent of a class
Use the 'comments' attribute to get a function's PHPDoc
Use 'startLine' instead of 'line' due to changed parser API
Change a line number in AnalyzedPHPFileTest

In a line-wrapped class member function definition, the new PHP parser
interpretes the first line (holding only 'private') as the relevant
startLine (not the following one containing function some_func() {} ).
The new parser also detects object variables when their members are invoked
Add InAssignmentVisitor to provide the 'in_var' attribute

Also, remove assert_object_property() as it's obsolete now.
Handle the 'new' operator
Handle special function calls