clean up display lists; allow repeating glNewList
fix some issues with glPushAttrib