Cleaned up source a bit and added comments.  Fixed scoping in SHIFT_OUT macro to allow it to be a simple expression.  Moved array declaration to global scope to save two bytes.
Changed bubble sort to one based off wikipedia's unoptimized pseudocode.  While this is a much worse version of the sort I believe it is easier to understand for a viewer and looks more interesting.
Moved tmp variable from bubble sort outside the loop.
Tweaked display of selection sort.
tweaked fn calls in heap.c in order to avoid displaying the same state twice in a row
added some comments to testing-gl