Engine: Pure virtual destructor
Bakge: Split platform headers into two
Engine: Fix pure virtual destructor declaration
Engine: Add *structor documentation
Engine: Update documentation