Interfaces, Inheritance and function prototypes...

Heya - hope I made these mods more or less correctly... I spent a bunch of time reading through the codebase to try and attack the problem properly :)

Anyways... this stuff works as far as I can tell - I added it because I need it for something I'm writing, DSL for an in-house php framework, I'm implementing it with pharen (thank you!)... so I'm actually using the features already and as far as I can tell this works.

I'll add some UT for this shortly assuming I have time, so watch for another pull request for that... 

Lastly - I came across a couple (very small) bugs/mis-configurations in the existing tests when I was running them/starting to add my own... would you prefer I email/message you the details, or is it best if I can just fix them myself and send them in another pull request? Let me know... and once again thanks for pharen :D

Cheers,
-Rudy