fix accumulated rounding error in BBT grid

Though current_frame is an integral type (framepos_t), it was being
added to as if it were floating-point, leading to an ever-increasing
rounding error when creating the grid for bars/beats/ticks.
don't use llrint on already-integral variables

This could trick people into thinking that there is a floating-point
type hiding behind the typedef instead of an integer.
fix rounding error in the min:sec ruler

When zoomed in to the millisecond level, the framerate was being divided
by 1000 as an integer to generate a ruler tick interval, which doesn't
work so well at things like 44100 or 88200.  Instead, just count this
value in milliseconds, dividing by 1000 when we are done.

This was purely a display issue - the grid was in the correct place.
fix major/minor ticks on min:sec ruler

All ticks from 0:00.000 to 0:00.999... were major, and everything after
was minor, instead of the correct distribution.
Merge branch 'minsec-ruler-display' of https://github.com/djpohly/ardour