introduced dirtybuffer flags to Geometry class to reduce overhead when only changing few or single buffers