Engine improved

    - componentAdded and componentRemoved added to engine
    - checkRequirements added to engine
    - Entity informs engine if components change