Register Click

Hi all, I'm pushing this up while I'm still in a very early stage. I'm getting stuck on passing optional blocks via the ampersand `&block` syntax. 

I keep getting wrong number of argument errors and am now thoroughly lost :frowning:. I may just need a tutorial on passing and using option args . . . more comments in line.
Small final note from reading through and testing... I think we could safely just call this for the second line:

```
click(&blk) if blk
```

`@gui.clickable` lives on for the moment only to allow links to have a different target element (their text-block) than themselves when registering, and in this case we don't really care about that.