Using a ProxyArray to get ListBox items handled correctly

Meant to not make a new branch, but I accidentally screwed up the old one when trying to revert it and decided to delete it. (See #992).

Anyways, to repeat: this intends to address #820.

This time my approach is an ArrayProxy that inherits from BasicObject and delegates everything to Array. 

Please let me know if this approach is good, needs tweaking, or needs a totally new direction (for example, how about `class ProxyArray < Array`?).

I have some questions / comments. I'll put those in-line before :poultry_leg: :sweet_potato: :fork_and_knife:  time!


To accommodate the reading and writing mentioned elsewhere, I need to get the array out. I initially just used `attr_reader :array` and then called `items.array` elsewhere.

I had some problems though in tests because at initialization, SWT talks to the items before they become a ProxyArray, and the regular `Array` doesn't have an `array` method. So I decided to have my accessor name coincide with a valid method on `Array`.

Something about this kind of work makes me think I might be doing it wrong . . . :grin: