Modified how the API for handling initializer expressions. Before, you
had to choose if your initializer would accept assignment expressions,
like the initializer for "dict" literal expressions, or could accept
singleton expressions, like the initializer for "list" literal
expressions. It had to be one or the other. The new API unifies these
two functions into the 'Dao.Interpreter.objInitializer' field of the
'Dao.Interpreter.Interface' data type, and can be defined with the
'Dao.Interpreter.defInitializer' function. This function takes a newly
defined data type 'Dao.Interpreter.InitItem' which has two
constructors: 'Dao.Interpreter.InitSingle' for singleton items, and
'Dao.Interpreter.InitAssign' for assignment items. Your implementation
can make a choice as to what to do with either type of item.

Also, I have added a new field to the 'Dao.Interpreter.Interface' for
traversing objects using the 'Dao.Interpreter.ObjectFocus' monad,
called 'Dao.Interpreter.objTraverse'. You can auto-define this
function using the instantiation of 'Dao.Interpreter.ObjectFunctor'.