Rebuilt the whole plugin

- Now works with multiple forms on one page
- Have added more descriptive commenting for easier developing