add randomness. what a terrible commit.
document the localOffset argument for visible
add a 'bleed' option to `.visible`
add helper for getting elements above and below
add method to set options after init