Britain's Princess Kate delivers first public speech in two years