i-bem: re-entrant BEMContext

Fall back to slower version of `.apply()` if exception was thrown or the
`BEMHTML.apply()` was re-entered.