setEntry() supports creating nested menus

Close #80
beforeOpen event accepts deferred as return value

Close #81