A few issues

I noticed a few things which I just wanted to reference with this pull request. You might want to handle it in your own way though:

1. I wanted to subclass RESideMenu so that all the logic related to item creation and menu management was self contained. Therefore, I did not use `initWithItems`, rather I used just `init`, and after creating the menu items, I called `reloadWithItems`:. This works fine for some cases, but `initWithItems` has two important pieces: adding to the menu stack and initing the back menu item. So `reloadWithItems` was modified to add to the stack if necessary and init the back button if necessary. So these commits fix this use case.

2. `showAfterDelay` is called quite often, and yet in every call, we re-initialize the `backgroundView` and the `tableView`. Why not re-use here, since both objects are already in memory?

3. I wanted the option to have a custom fill color on the `backgroundView`, so I made the `backgroundView` a public property and added a `fillColor` property on the view.