create AbstractField class
move Field class to InputField; base on AbstractField
create SelectField class for select controls
set FieldFactory to use new Field controls