Add support for custom Sokoban levels. - Check for 2D array in first param of constructor. - Validate strings in custom map, and make sure any custom appearances are specified in `entityAppearances`. - Refactor level metadata creation into a separate function.
Add support for custom Sokoban levels.
Check for 2D array in first param of constructor.
Validate strings in custom map, and make sure any custom appearances are specified in
entityAppearances.Refactor level metadata creation into a separate function.