- Added new `FormComponent.isCustomInput` method
- Pulled `renderComponent` up from `FormComponentInner` to `FormComponent`
- Pulled some input-type-specific logic up when it was universal, or pushed it down when it should be handled by each ui library