Kate Middleton ‘dresses like a princess’ to keep promise she made to girl battling cancer