Added a select2 input for selecting tags

- Keeps the same functionality just with a new look
Fixed up require circular dependencies