Abstract the concept of IdImpl to a SmallArray to factorize code later
Simplify range<> implementation by using SmallArray
Removed useless code
Factorize out id<> constructors to SmallVector123 for later consolidation
Implement range<> with SmallArray123
Add make_id() and make_range() versions that takes a list such as make_id(1,2,3)
Replace int by std::size_t in template dimensions
Forward the final type to SmallArray so that boost::operator can produce range<> for example
Update buffer<> to new range<> implementation
Update item<> to not requiring old separate implementation
Simplify make_id(...) and make_range(...) implementation: remove cast and initializer list

There was an issue with the on-going constructor from a collection,
because an initializer_list<> has some collection aspect.
Add array conversion on SmallArray so that we can have conversions between id<> and range<>
Update accessor<> to the new id<> and item<> implementation
Update group<> to new implementation
Simplify the parallel_for implementation

This is to be simplified further when the next SYCL version comes out.
Remove useless code with the new implementation based on SmallArray