Patch aims mainly to speed up recompilation time through code
refactoring. Refactoring in this case means:
- new syntax for signal-slot connections,
- single class in single header,
- d-pointers,
- explicit constructors,
- less interdependency in header files,
- override keyword for virtual functions,
- disabling copy constructors.