More optimizations

No need for delegate since parsing is synchronous. Used properties
instead of ivars. Increased performance of checking for tags while
parsing code.