templater: add try-except stub to runmember()
New wrapped interface will raise ParseError if the underlying object doesn't
support dict-like lookup operation.
templater: do dict lookup over a wrapped object
Dict/list lookup operations will be moved to a wrapped interface so that
a returned element can inherit hybrid-ness automatically. wraphybridvalue()
will be inlined.