Smart model into core.

Despite previous intentions, the SmartModel became very useful and,
since strongly adds to the main goals of the framework, it is now part
of the core, however its use remains optional.