Implement a basic form rendering engine. Fixes T871

Summary:
The engine takes in a form attribute object based off Ushahidi Platform's form API and renders form elements base on the attribute object.

  - Add a base class for implementing validators.
  - Add validator for required fields.
  - Add validator for web urls.
  - Add base class for creating pattern based validators.
  - Add base class for extending form widgets.
  - Add EditText form widget.
  - Add Spinner form widget.

  Todo:

    - Support other form widgets. Eg. Datetime, Checkboxes, Radio buttons, etc.
    - Write test cases.

Test Plan: No test plan for now

Reviewers: dkobia, PapaLee

Subscribers: rjmackay, shadowhand

Maniphest Tasks: T871

Differential Revision: https://phabricator.ushahidi.com/D455