Generates perfect maze