Tag implementation

Tags implemented for Entities.

Entities can have multiple tags (up to 32)
Tags are simple `unsigned int`. If you want to use specific names, define an enum.

    enum MyTags
    {
        ENEMY = 0
        , PROJECTILE = 1
        , HEROS = 2
    };

You can use tags to tag Entities ex

    auto e = createEntity();
    e->addTag(ENEMY);

then later you can check if entities have desired tags

    if (e->isTagged(ENEMY) && !e->isTagged(HEROS))
    {
        e->getComponent<Component::Foo>()->bar();
    }

Tags are also used within Entity Filters.
In fact filter have now 2 options

    filter.requireComponent<Component::Foo>();
    filter.requireTag(ENEMY);

This filter will take only entities with component `foo` and tagged as `ENEMY`

Close #85 Close #76