lib/vterm_states: fix C++11 compliance

In C++11, narrowing a type is no longer allowed in structure
initializers:

    struct foo { u16 u; };
    foo f[] = { {0}, {-1} };

results in the gcc-6 to whine out loudly, and fail:

    error: narrowing conversion of ‘-1’ from ‘int’ to ‘u16 {aka short unsigned int}’ inside { } [-Wnarrowing]
     };
     ^

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

diff -durN fbterm-1.7.0.orig/src/lib/vterm_states.cpp fbterm-1.7.0/src/lib/vterm_states.cpp
--- fbterm-1.7.0.orig/src/lib/vterm_states.cpp	2010-10-06 06:23:08.000000000 +0200
+++ fbterm-1.7.0/src/lib/vterm_states.cpp	2016-08-13 16:54:29.495451127 +0200
@@ -22,6 +22,7 @@
 #include "vterm.h"
 
 #define ADDSAME(len) ((len) << 8)
+#define ENDSEQ  { ((u16)-1) }
 
 const VTerm::Sequence VTerm::control_sequences[] = {
 	{ 0,	0,	ESkeep },
@@ -39,14 +40,14 @@
 	{ 0x1B, 0,	ESesc },
 	{ 0x7F, 0,	ESkeep },
 	{ 0x9B, 0,	ESsquare },
-	{ -1}
+	ENDSEQ
 };
 
 const VTerm::Sequence VTerm::escape_sequences[] = {
 	{   0, 0, ESnormal },
 
 	// ESnormal
-	{ -1 },
+	ENDSEQ,
 
 	// ESesc
 	{ '[', &VTerm::clear_param,	ESsquare },
@@ -65,7 +66,7 @@
 	{ '8', &VTerm::restore_cursor,	ESnormal },
 	{ '>', &VTerm::keypad_numeric,	ESnormal },
 	{ '=', &VTerm::keypad_application,	ESnormal },
-	{ -1 },
+	ENDSEQ,
 
 	// ESsquare
 	{ '[', 0,	ESfunckey },
@@ -104,7 +105,7 @@
 	{ '`', &VTerm::cursor_position_col,	ESnormal },
 	{ ']', &VTerm::linux_specific, ESnormal },
 	{ '}', &VTerm::fbterm_specific, ESnormal },
-	{ -1 },
+	ENDSEQ,
 
 	// ESnonstd
 	{ '0' | ADDSAME(9), &VTerm::set_palette,    ESkeep },
@@ -112,25 +113,25 @@
 	{ 'a' | ADDSAME(5), &VTerm::set_palette,    ESkeep },
 	{ 'P', &VTerm::begin_set_palette, ESkeep },
 	{ 'R', &VTerm::reset_palette, ESnormal },
-	{ -1 },
+	ENDSEQ,
 
 	// ESpercent
 	{ '@', &VTerm::clear_utf8,	ESnormal },
 	{ 'G', &VTerm::set_utf8,	ESnormal },
 	{ '8', &VTerm::set_utf8,	ESnormal },
-	{ -1 },
+	ENDSEQ,
 
 	// EScharset
 	{ '0', &VTerm::set_charset, ESnormal },
 	{ 'B', &VTerm::set_charset, ESnormal },
 	{ 'U', &VTerm::set_charset, ESnormal },
 	{ 'K', &VTerm::set_charset, ESnormal },
-	{ -1 },
+	ENDSEQ,
 
 	// EShash
 	{ '8', &VTerm::screen_align,	ESnormal },
-	{ -1 },
+	ENDSEQ,
 
 	// ESfunckey
-	{ -1 },
+	ENDSEQ,
 };
