Add buffer type

This PR adds an abstract buffer type, which serves as a unified interface for variaous buffers, both wayland based and internal ones.
The naming should be `WS_OBJECT_TYPE_ID_BUFFER` here, to fit the scheme.