revealjs: fragments support with step option or role

Supersedes PR #19.