Implements Reusable Parser #26

Implements Reusable Parser #26 

* Rewrote `ParserInterface` Interface to enable modifying `Parser::parse` method signature;
* Rewrote `Parser` class to enable reusable parser by moving the string to be parse from the class constructor to the `Parser::parse` method.
* Rewrote `Facade::getAnnotations` method and the `ParserTest` class to take into account the changes made;