Draft: Fix picking bug
On some GL implementations (mesa software rendering, some AMD cards on Linux), picking would stop working when switching between pick targets.
The previous logic only updates a buffer when deemed necessary, however in any case it is first invalidated via glBufferData.
I suppose nvidia graphics, where this worked, did not clear the buffer and with some luck we got an unchanged buffer.
Fix: only use glBufferData if we actually need to change the buffer.