Rewrite access modifier checks to be stricter and support more modifiers
Allow < and > in idents, TODO: Support java style constructors and static blocks