some experiments with forward declarations and inclusions
working again with implementation of virtual functions in item.cpp
finally merged
housekeeping, const-correctness