vt(4): Merge several bug fixes and improvements

SVN revisions in this MFC:
  271756 271758 271868 271871 271872 271899

Detailed commit list:

r271756:
  vt(4): Fix out-of-bounds array access in VT_ACTIVATE ioctl handling

  CID:		1229964

r271758
  vt(4): Use strncpy() to copy into a fixed-size buffer

  CID:		1230007

r271868:
  vt(4): Remove vt_buf->vb_dirtymask

  This structure and the associated functions were unused since the
  implementation of vd_bitblt_text_t callbacks.

r271871:
  vt(4): Rewrite history scrolling

  It's now possible to scroll up the 500 hard-coded lines of history, not
  just a fraction of them. For instance, one can reach the top of the boot
  process.

  Sometimes, when scrolling or when changing the screen size (by changing
  the font or loading a KMS driver for instance), one could see the
  history cycling (old content appeared below latest lines). This is
  fixed.

  Now, when the resolution changes are more lines can be shown, the
  displayed area is adjusted so that, if the screen was filled with
  content before, it's filled with content after as well: more history
  is visible, instead of having blank lines below the previously visible
  content.

r271872:
  vt(4): Remove superfluous word in comment

  Submitted by:	brueffer@

r271899:
  Make gcc happy by initialising the variable only set in a couple of
  case statements without a default.

Approved by:	re (marius)