Generates a maze of arbitrary size and solves it using depth first search