Added unit tests to widget Breadcrumbs and refactor of Breadcrumbs::renderItem()

Nope, I don't mean using `php error` all the time. If possible, we should still throw exception to make it easier for developers to understand the cause of the error. In the case that we discussed, even if you throw exceptions, you won't be able to make the situation better and you suffer performance degradation. That's why we choose the `php error` approach there.