Headers crossusing refactoting

All types and constants are removed from freeserf.h
Now we can clearly see how modules are using each other.
Just for uniformity of definitions.