doctools.pl: add POD documentation; add -i option.

util/doctools.pl:
	add POD documentation;
	implement '-i' option to ignore missing files.
DOC updates.

DOC/.index:
	Add Networking section.
	Add Transparency.txt to it.
	Add Interrupt and IP to References section.

DOC/Fork.txt:
	add reference to Transparency for fork implementation.

DOC/Interrupts.txt:
	Layout fixes.

DOC/Transparency.txt: (ADD)
	Describe buffering transparent Proxy, Packet Filtering and
	Protocol Handlers.

util/txt2html.pl:
	allow [type:message] to span multiple lines;
	support [Foo#anchor].
linkchecker: support anchors.
VMWSVGA2: implement performance test.

	SUMMARY

		In GFX mode, console printing is rather slow.
		This commit adds a performance test which reveals
		that the screen updates are performed at around 440fps
		at 1024x768x32, and thus do not constitute the bottleneck.

		Various things have been tested to have little or no effect
		by calling them 100x per frame:
		swapping out CR3, disabling/enabling paging, unrolling
		character draw loops;
		The bottleneck has been found to be the gfx_printchar_8x16.
		Calling it 2 million times per frame results in a frame rate
		drop of around 90% reducing the FPS to 26. Not calling it
		results in around 300 fps, and replacing the method with
		a push/pop/ret results in 280 fps.
		Unrolling the loops shows speed increase less than 4%.
		Not referencing video memory does not affect the speed.

		The fastest operations are the FIFO. A possible solution
		to increase speed would be to pre-render the font in video
		memory ('GMRFB'), and queue bitblt fifo operations.

kernel/vmware/svga2.s:
	refactor the startup check;

	when VID_STARTUP_CHECK is enabled, do a performance test by filling
	the screen and calculating the FPS

kernel/shell.s:
	make cmd_colors global so the video startup check can call it.
[minor] remove coff debug
GFX: cleanup/refactor VMWSVGA2 and VBE

Makefile:
	record new gfx_vbe.s;

kernel/dev.s:
	dclare vid_api_gfx_mode and vid_api_txt_mode virtual methods.

kernel/gfx.s:
	move VBE/VESA code to gfx_vbe.s and make it optional
	declare globals (removed from kernel.s);
	add gfx_set_geometry to initialize video resolution/bpp variables.
	refactor gfx_clear32 to gfx_cls;
	move keybuf_clear to keyboard.s/keyboard_flush.

kernel/gfx_vbe.s:
	receive VBE/VESA realmode code and realmode debug tracing code.
	Minor cleanup/renames. Compiles, but GPF's on the realmode call.

kernel/kernel.s:
	move video/font globals to gfx.s;
	remove keyboard flush code and call keyboard.s/keyboard_flush.

kernel/keyboard.s:
	k_get$: set interrupt flag if scheduling is disabled (just in case).
	receive keyboard_flush method;

kernel/print.s:
	declare global default_screen_update (removed from kernel.s).

kernel/vmware/svga2.s:
	cleanup, refactoring:
	declare and implement vid.(txt|gfx)_mode method overrides;
	remove redundant code from vmwsvga2_startup_check (such as
	video mode init/deinit) and other places;
	extract the FIFO IRQ test and actually test for the IRQ occurring;
	refactor the FIFO sync code into a method;

	experimental: add some (skeleton) methods for bit-font decompression,
	screen definition/destruction, gmr blit operations;

	cmd_gfx: call the virtual methods to enter gfx/textmode.
Generate assembly source reference on site.