It seems like some draws are impossible to fullfil. Like I have the monkey and the snake that want north west corner and the giraffe wants the same corner as brown. But there are only 2 north west corners...
Anyway: good idea and nice implementation!