Enhance Str::limit() with an option to preserve words

Discussion: https://github.com/laravel/framework/issues/3515