Added typedef declaration

Like struct/classes. It will allow using 'go to declaration'.
It may be hard to parse smth like `typedef void (Class::*foo)(void * ptr, int (OtherClass::*)());`, but I think at least `typedef ... name;` will be good.