Make String::wrap() unicode aware. Solves #3981.

Solves https://cakephp.lighthouseapp.com/projects/42648/tickets/3981-stringwrap-is-not-unicode-aware

Fixed version of #1515