Oakshlaran:
	- Fix importing localisation after trying to use it
	- Add localisation support
	Localisation support added for all general use display strings, but not
	quite all debug messages. Currently think that localisation is not
	neccesary for debug messages, but it's there for the moment.
	
	# Please enter the commit message for your changes. Lines starting
	# with '#' will be ignored, and an empty message aborts the commit.
	# On branch localise
	# Changes to be committed:
	#	modified:   OakInterruptsDisplay.toc
	#	modified:   display.lua
	#	new file:   localisation.lua
	#	modified:   menu.lua
	#	modified:   rotation/rearrange.lua
	#	modified:   rotation/rotation.lua
	#
	- Fix display resizing when interrupters dragged
	Previously the display were not resizing: this is now fixed. To
	facilitate this and reduced unessecary processing related to changing
	the layout/size of displays, the a new updatelayout, designed to be the
	method to call when the queue needs to be laid out. LayoutDisplay should
	now only be called when anchoring of the display needs to change, and it
	will completely redo the layout; ResizeDisplay now only resizes the
	display (and thus is not sufficient when adding/removing an
	interrupter, UpdateDisplay is for these cases).
	- Fix window position saving and layout bugs
	The previous change to the layout anchoring, introduced a manual
	implementation of a titleregion, but this didn't unset SetUserPlaced,
	resulting in an entry being made in layouts-local.txt that conflicted
	with the saved display position (it could switch the position of
	displays after they were restored on login/reload).
	
	FrameQueue now starts with a height/width of 0 when there are no frames,
	this fixed a slight position bug (a movement of 1 * padding) when
	changing the grow direction of a display with no interrupters.
	
	DataChanged now checks that a removed interrupter is in the watch_list
	before trying to remove it from a display, fixing an issue where a
	display that didn't have an interrupter would throw an error.
	# Please enter the commit message for your changes. Lines starting
	# with '#' will be ignored, and an empty message aborts the commit.
	# On branch bugfix
	# Changes to be committed:
	#	modified:   display.lua
	#	modified:   libs/FrameQueue.lua
	#
	# Changes not staged for commit:
	#	modified:   display.lua
	#
	- Improve display layout anchoring
	Previously the display was positioned and laid out by achoring the
	heading to the screen and then positioning everything else relative to
	the heading. Not only did this feel a little odd, but made it difficult
	to alter the layout system, particularly when trying to integrate
	support for libmovable-1.0.
	
	The new layout now anchors the display frame to UIParent, and calculates
	the height and width of the display frame; other components are then
	placed relative to the display frame. In addition, layout and resizing
	of the display has be refactored out into separate functions. This
	change also resulted in other functions no longer calling LayoutQueue
	directly but instead just calling LayoutDisplay.
	
	To keep the functionality of the old heading TitleRegion, a manual
	implementation was needed. Note that end users whould not see a change
	in functionality; all previously behaviour should be replicated in the
	new layout system.
	
	Additionally, the SetDirection function was changed to directly take the
	'up'/'down' grow directions and translate them into the appropriate
	anchor.
	- Fix veritcal position of menu button
	The menu button erroneously had a vertical offset.
	- Add basic ConfigMode support
	- Add menu to displays
	This update adds a button to the title bars of each display to popup a
	menu to allow access to certain functionality, in order to avoid using
	slash commands. The functionality included is:
	
	  -    toggle locking of the display
	  -    toggle rotatation/announce on/off
	  -    share the rotation
	
	This is accomplished with a new 'menu' module that handles constructing
	and displaying the menu. Future enhancements to the menu module could
	include moving away from EasyMenu, and removing the button in favour of
	right-clicking on the title bar - this however requires a more involved
	rewrite of display.lua, turning the title bar into a button and then
	reimplementing the drag behaviour.
	
	issue: www.wowace.com/addons/oakinterruptsdisplay/tickets/5-buttons-for-common-actions/
	- Fix bug when creating automatically named display
	When creating a display without providing a name the flow of logic
	resulted in nil values being used in places where the generated name
	should have been used.
	- Add ability to drag players between displays
	Previously it was overly labour intensive to construct a list of a few
	specific players as the user had to refill a list and then remove all
	the players they didn't want from that list. Now palyers can be dragged
	from one list to another (removing from the original list). New lists
	still automatically fill, though this could be changed in the future
	depending on UX feedback.
	
	This feature works by checking if the display of a frame needs to be
	switched (only when being dragged), depending on whether it overlaps
	another display - when two displays overlap the chosen display is not
	specifically defined (determined by the order from pairs()). In addition
	the rearrange MouseUpdate function now returns a display if a new one is
	chosen to inform the caller that the frame has switched display. When
	the moving frame overlaps the current display a new one will not be
	chosen, effectively meaning that when overlapping multiple displays, the
	one the was overlapped first is used.
	
	issue: http://www.wowace.com/addons/oakinterruptsdisplay/tickets/2-drag-interrupters-between-lists
	- Fix empty rotation bug on entering/leaving combat
	Previously a rotation list would go to highlight the first frame when
	entering combat and unhighlight the next_index frame when leaving
	combat, even if these frames didn't exist. Now a check that the list
	isn't empty is run first to avoid this bug.
	- Revamp rotation sharing message; improve announce
	The previous rotation sharing message was hard to read and ugly. The
	message was split into multiple lines, with a heading line. To
	facilitate this the Announce function was changed to accept the channel
	to print to so that the order is not shared to RAID_WARNING (when the
	user can) as it wouldn't appear well in the middle of the screen.
	- Fix announcing when dead
	Previously when the user died, and they were announcing to YELL, they
	would stop announcing, as you cannot yell while dead. To rectify this
	we now test if the user is dead, and if so, switch to announcing to
	party/raid.
	- Disabled nolib creation
	- Add saving of display settings
	Previously, users would have to set up any displays everytime their UI
	reloaded. This change has added the CharDisplays variable to save
	settings between sessions. Currently saved settings are:
	
	  -    position of a display
	  -    rotation/announce flag
	  -    locked flag
	  -    grow direction
	  -    autoinclude flag
	
	When the user logs in displays are now created to replicate the
	situation at the previous logout (though the lists are not populated),
	with the one small caveat that the display's name (as returned by
	GetName(), not the user chosen name) of the display may have changed.
	Because of this the position settings are not saved via SetUserPlaced,
	but are instead included in CharDisplays.
	
	In addition some functions were moved and renamed in an effort to bring
	a little more consistency to the structure of the code.
	
	Known issues:
	
	  -    If the user reloads during combat and drops combat while
	reloading, a call to BGColor* can occur for a nil frame
	
	issue: www.wowace.com/addons/oakinterruptsdisplay/tickets/1-save-display-list-settings/
	- Add show/hide slash commands
	Previously there was no way to hide a display, the user would have to
	delete it and then recreate when it was needed again (so you would just
	never hide it). To address this two new display interface functions were
	added and slash commands calling them included. Additionally the
	functions to create and close displays were renamed for consistency.
	
	issue: www.wowace.com/addons/oakinterruptsdisplay/tickets/3-show-hide-list/
	- Fix background when changing display direction
	- Add background colouring functions; fix highlight bug
	Previously when in combat, if a rotation list was edited (someone was
	removed or the order rearranged) the highlighting of frames did not
	update properly. Observed bugs were:
	
	 -    if the next interrupter was removed, when that frame was reused by
	      the FramePool, it would still be highlighted
	 -    if the order was rearranged incombat, the highlighting would not
	      update to reflect this
	 -    when leaving combat, if the highlighting was desynced from the
	      rotation it would not unhighlight everything
	
	To fix these issues general use background colouring functions were
	added to display.lua, intended to be used for all highlighting puposes.
	The colouring of new interrupter frames was moved out of InitFrame (as
	this function only fires when a new frame is created, not when reused)
	fixing the issue of reused frames being highlighted and colouring of a
	list is now done after rearrange.MouseUpdate which is when the
	rearrangement of the order takes place.
	- Fix rotation not updating properly when on cooldown
	- Fixed bug occuring when 'polling' data field changes.
	- Fixed bug introduced when updating dataobject spec to include 'polling'
	- Rotation logic and lock/unlock combat flag bump.
	- rotation now skips a player is they're disconnected
	    - lock/unlock combat flag is now case insensitive
	- The combat flag for lock/unlock is now case insensitive.
	- Bug fixes.
	- Fixed interrupt rotation logic bug always jumping to person after
	    whoever used an interrupt
	  - Fixed bug when removing interrupter from a list
	- Rearranged library inclusions; added .pkgmeta.
	- Initial comming.
