Added a JPanel subclass that will draw sorting states
Made SortingStatePanel safe to call paint() on before it has a SortingState to draw
SortWorker now takes a SortingStatePanel instead of a JPanel
Finally implemented process(...) method in SortWorker, should now draw sorting state to its SortingStatePanel
Finally got something to draw, and it looks kinda right!

It seems to be inverted, and it's only painting once, so that's weird, but we're getting there.
Now you can watch things sort!

Calls to process(...) happen correctly when you give it an actual delay (otherwise only the last one executes)
Fixed how the bars were 'inverted'
Made the UI look a lot less terrible

Fixed publishing order in Selection Sort
Sorting algorithms now turn green when they're done
Added titled borders to the sorting state panels
Fixed location of publish() calld in heap, insertion, and merge sort

Added an additional call to timedPublish for Insertion sort
When pressing start, no longer need to wait for first paint. Happens immediately.

Merge sort has a weird bug- since it takes elements out of the main list temporarity, when it's picking the largest element to determine the scale, it'll sometimes miss that largest one if it's temporarily in the merged list.
This makes all the other bars become a little bigger for a little bit.