drawing: Fix drawing of Box Drawing and Block Elements characters

... and remove the few other special-cased characters. We may consider
adding all or parts of U+2400..U+243F (Control Pictures) and U+25A0..U+25FF
(Geometric Shapes) back in.

The Box drawing block is:

U+250x ─ ━ │ ┃ ┄ ┅ ┆ ┇ ┈ ┉ ┊ ┋ ┌ ┍ ┎ ┏

U+251x ┐ ┑ ┒ ┓ └ ┕ ┖ ┗ ┘ ┙ ┚ ┛ ├ ┝ ┞ ┟

U+252x ┠ ┡ ┢ ┣ ┤ ┥ ┦ ┧ ┨ ┩ ┪ ┫ ┬ ┭ ┮ ┯

U+253x ┰ ┱ ┲ ┳ ┴ ┵ ┶ ┷ ┸ ┹ ┺ ┻ ┼ ┽ ┾ ┿

U+254x ╀ ╁ ╂ ╃ ╄ ╅ ╆ ╇ ╈ ╉ ╊ ╋ ╌ ╍ ╎ ╏

U+255x ═ ║ ╒ ╓ ╔ ╕ ╖ ╗ ╘ ╙ ╚ ╛ ╜ ╝ ╞ ╟

U+256x ╠ ╡ ╢ ╣ ╤ ╥ ╦ ╧ ╨ ╩ ╪ ╫ ╬ ╭ ╮ ╯

U+257x ╰ ╱ ╲ ╳ ╴ ╵ ╶ ╷ ╸ ╹ ╺ ╻ ╼ ╽ ╾ ╿

and the Block Elements block is:

U+258x ▀ ▁ ▂ ▃ ▄ ▅ ▆ ▇ █ ▉ ▊ ▋ ▌ ▍ ▎ ▏

U+259x ▐ ░ ▒ ▓ ▔ ▕ ▖ ▗ ▘ ▙ ▚ ▛ ▜ ▝ ▞ ▟

https://bugzilla.gnome.org/show_bug.cgi?id=435000
widget: Add units to default CSS
Replace GDK_THREADS_ENTER/LEAVE with gdk_threads_enter/leave

Using the functions directly allows us to benefit from the
new more gracious deprecation approach, and doesn't force
a harsh build break due to undefined macros.

https://bugzilla.gnome.org/show_bug.cgi?id=681216
introspection: Fix some annotations

https://bugzilla.gnome.org/show_bug.cgi?id=679805
https://bugzilla.gnome.org/show_bug.cgi?id=681714
widget: Remove gdk_threads_enter/leave
CJK: Fix width of Box Drawing and Block Elements characters

U+254C..U+254F and U+2574..U+257F have East Asian Width property
N (neutral) while all the other line drawing characters are
A (ambigous). This makes those characters not match up with those
other line drawing characters from the Box Drawing (U+2500..U+257F)
block when using VTE_CJK_WIDTH=wide; so we forcibly treat them as
ambigous too.

And we also do the same for the Terminal Graphic Characters
(U+2596..U+259F) as well as U+2590 and U+2591 from the Block Elements
(U+2580..U+259F) block.

The reasons *why* these characters are N instead of A is not clear.
It certainly looks like a bug in Unicode, but these characters are there
since Unicode 1.1, and even the first version of UAX#11
(DTR#11, http://www.unicode.org/reports/dtr11.html) has them as N.
drawing: Don't overdraw the cell on bold characters

This was added in comment dcb7fd974bea5fe49d4f5b0344ebdaffc6d7bae1 and is only
required when using double-strike pseudo-bolding; so only add the extra pixel when
doing that. This makes the usual case (i.e. using a real bold font) look nicer.

https://bugzilla.gnome.org/show_bug.cgi?id=682692

Conflicts:

	src/vte.c
emulation: Support italic text

The escape sequence SGR 3 for italic text is now recognised and supported.

https://bugzilla.gnome.org/show_bug.cgi?id=685223

Conflicts:
	src/vte.c
	src/vtedraw.c
	src/vtedraw.h
keymap: Simplify debug code

Remove the autogenerated keysyms.c and just use gdk_keyval_name().
emulation: Support xterm extended mouse tracking mode

https://bugzilla.gnome.org/show_bug.cgi?id=681329

Conflicts:
	src/vte-private.h
	src/vte.c
fixup! emulation: Support xterm extended mouse tracking mode
emulation: Don't report shift-left-button release

In case selection is deferred until the threshold is exceeded, we still need
to consume the event so that we don't report a button release event to the app.

https://bugzilla.gnome.org/show_bug.cgi?id=683729
emulation: End selection mode misses Shift release

When shift was released before the mouse button, we were not ending the selection.

https://bugzilla.gnome.org/show_bug.cgi?id=683730

Conflicts:
	src/vte.c
Use @basename@ rather than @filename@ in vtetypebuiltins.h

On Debian/Ubuntu-based systems it is helpful for headers to be identical
across architectures, thereby allowing the -dev packages from multiple
architectures to be installed simultaneously; in particular, this
simplifies cross-building.  When building out-of-tree, the use of
@filename@ causes the build directory to end up in the generated header
file, which means that it isn't reliably identical on all architectures.
Using @basename@ instead fixes this problem.

Although it isn't necessary to change the corresponding .c file as well,
I did so for consistency.

https://bugzilla.gnome.org/show_bug.cgi?id=690554
(cherry picked from commit d1fb78fb00388b3e76fa1c8c71149d64c931b68e)
pty: Use posix_openpt() if available

https://bugzilla.gnome.org/show_bug.cgi?id=694494
vte.sh: Improve vte.sh script and add testcase

Improved vte.sh script by Peter De Wachter.

Add a test that checks the urlencoding is done right.
pty: Set env var with vte version

This is necessary so that we'll be able to check whether to use the
vte.sh script in PS1.
(cherry picked from commit 8bea17d1a36abb635e751e4daf4315b0bf20b26e)
prompt: Make __vte_ps1 only print anything if running under vte
(cherry picked from commit 5f80578b383a3378274c78f6867b1fcb05d42ea3)
prompt: Set PROMPT_COMMAND

Use PROMPT_COMMAND to set the cwd. This works for both login and non-login
shells (at least under F17 and should also work for any other distro that
sources /etc/profile.d/*.sh both ways).
(cherry picked from commit b307d45e8b2dd27a3881852c29f4a6f0443d5348)
prompt: zsh compatibility
(cherry picked from commit fa9171fc7b9ed0f46e26dec32e2755c1c48c4c70)