Adding setDefaults(), ancestorCurrencyDepth option, fixing (string) NULL conversion

ListRenderer: calling parent::__construct(), splitting constructor and
introducing setDefaults() for easier inheritance, adding
ancestorCurrencyDepth option to mark active/current also ancestors of
not displayed menuitems (so don't stop propagation), fixing return
(string) null which is undefined, setting depth option bottom to 0
Typo in level value in defaults. Replaced tabs to spaces.
Merge branch 'master' of github.com:trunda/SmfMenu