Finshed doing all the field type, making sure validation, appearance, etc works. Fixes #14.