Class-based plugin refactor

Class based plugin refactor with a view to extend functionality for widget areas, posts, and settings.