Move GUI classes to separate package

Also change CircularList (really a circular set) to be a circular hash
map to allow associating flags with each chunk.