Towards Human-Level Learning of Complex Physical Puzzles