Refactored UniProtectField class to fix issues with javascript

Noticed there were some issues with the javascript getting in the way of existing Requirements calls. So. I refactored UniProtectField class to allow for custom template, use proper Requirements calls, and options to disable javascript if needed. Should make it a bit more flexible. :)