Huge commit in which all IR_GIVE_*FIELD now uses the string literals defined in each respective header (making this much more library friendly). This replaces the huge centralized InputFieldType enum.