Made textbox and option classes abstract
Added some documentation. Made some variables protected that shouldn't have been public. Added __get()
Added more documentation
Documented some more. Split larger methods into smaller ones.
Documented even more.
Added more property/method documentation
Got rid of interface as its no longer necessary.