Cleanup
Refactor `layerdata` module

It turns out that the `LayerData` class, with a few changes, is abstract enough that it can be easily adapted for GIMP channels and paths.
`LayerData` is therefore renamed to `ItemData` and made an abstract class. Created `LayerData`, `ChannelData` and `PathData` subclasses for layers, channels and paths, respectively.
Also renamed `_LayerDataElement` to `_ItemDataElement`, `layerdata` module to `itemdata`, unit tests and a bunch of variables, attributes and methods here and there to reflect these changes.