Clear fixes

This fixes 2 bugs with `App#clear`:

### Clear always cleared everything

```ruby
Shoes.app do
  button 'heeejjj'
  stack do
    para 'muuuhhh'
    clear
  end
end
```

This code used to result in an empty app. What you actually want is to clear out the `current_slot` not always the `top_slot`

### Clear changed the current_slot to parent (#756)

Clear always changed the current_slot to the parent of the slot. It shares the slot execution code and changing the context to the parent makes sense for the `flow/stack` method. It does not for `clear`/`append`/`prepend` as they might be called (with the slot as a direct receiver) in totally different contexts that have nothing to do with their parents

-----------------------------------------------------------------------------------------------------------

Also includes minor fixes for the manual or inspect on the internal app. Possiblemerge conflicts although small with #759

Overall I'm quite amazed that both of these bugs survived in the code base for so long as I see them as quite major.

Feedback welcome :)

PS: **Personal note**, this pull request finishes my full 365 days/one year github contribution streak that I started last year right before Google Summer of Code working on... you know it shoes. Love this project - was a hell lot of fun :) Started out as "just this GSoC" (~90 days) and then it escalated from there :)