fix(io): serializer registration is not unique
Description
When SIGHT_REGISTER_SERIALIZER is added on the same line in two different registration cpp files, the serializer registration register twice one file, and not the second one.
This is due to the SIGHT_REGISTER_SERIALIZER macro, which is made unique based on the LINE key word, which refers to the line number in the file, where the macro is situated.
As release inlines all, the line is different each time, and it can work fine.
For debug, if the macro is at the same line number, the macro is no more unique.
Steps to reproduce
Add SIGHT_REGISTER_SERIALIZER in the same line in two different cpp.
Launch an application with both data. Only one data serializer is registered, and the second isn't.
Functional specifications
Serializer registration should register all services once, independently of where the macro is placed in the file.
Technical specifications
Change the SIGHT_REGISTER_SERIALIZER , template it, add the serializer type in it and make it really unique.