Progress on Maze Generation

Changed the generation process so that the pocket boundaries fit closer
even if the maze is smaller than the original generation area.
Fixed Maze Bug

Fixed the issue with one-way doors generating pairs at the destination
side. Moved door placement logic to BaseDecorator in the process so that
all decorators can access the same function rather than duplicating it.