Interfaces

Usage of SMF_BackgroundTask as an interface.

Since we're on 5.3 why not use a proper interface, this allows custom notification classes to implement the interface while still be able to extend a third party class or even implement another third party interface, it also gives back full control of the __constructor magic method back to each notification class.

Meh... TBH this is just a selfish thing, I'm pretty sure I'm gonna be the only one implementing while also extending a third party class. Then again, most of the stuff I've been adding will not be fully used by mod authors anyway :cry: