memory: switch phys_page_set() to a recursive implementation