GSoC: Rewrite ODK Collect's widgets using the new "widget framework"

Hie @seadowg! I was looking at the project and what I inferred is that the work would be focussed on rewriting the widgets and replacing the test coverage with Roboelectric tests, as our goal is to make unit tests run faster.
Apart from this, we can also look into improving the UI of the widgets, following the collect style guidelines that are very compiled here, and making the use of material components wherever possible. I was also thinking whether we are allowed to make changes in the UI of the app as well or not, as I found that we can implement material components like app bar and navigation drawers, and there is a scope that after proper research it may add up to improve the user experience of collect.