General updates to interface

- Made strokes thicker by default on the portable app
- Changed wordings on context menu
   - Context menu now shows "clear/delete all keys/motions after <time>"
Redefined rules governing interpolation enabled state for for K and PK modes

- User will now not be able to perform transitions if there are no
motions/keys at <time> for modes K and PK
- Also changed names for study modes
Changed interface references for D,I, DI to P,K,PK
Added ghost to the end of the motion path during interpolation + bug fixes

Bug fixes
- Fixed bug where widget returns to interpolate state when it is not
supposed to allow interpolation during K and PK modes
Bug fixes

- Context menu now shows a darker background for enabled buttons
- Time label now returns to the time indicator's position after tick
interaction ends
Improved implementation for regenerating translation path points

Optimised translation motion path regeneration by not recreating points
for computation. Bench mark timings improved from 4-5ms to 0-1ms for
that specific block of codes.

removed rotation path generation for the time being
Bug fixes related to object views

Fixed bug where interpolating without an active key causes a crash
Fixed bug where Rotation motion paths are not enabled
Fixed bug where motion paths of keys with 0 duration are drawn
Fixed bug where translation paths are not drawn at the correct place
Fixed bug where interpolation ghost appears at the previous frame boundary when interpolating at the end of a reference frame timeline.
Implemented caching for non-transition matrices
Bug fixes

Fixed bug where object is not marked dirty when its key frames were
retimed
Fixed bug where object does not produce the next motion path in the
middle of an empty stretch in time
Interface updates

-Ghosts now appear more faint than before
-For P mode, the the last  paths that can be interpolated will be shown
as motion paths
Added logging functionalities to portable classes
Fixed bug where interpolation ghost appears at an erroneous position when performing adjustments on the key frame header
Added logging functionality to arrow buttons
Interface changes and bug fixes

Fixed bug where StudyIO keeps adding participant numbers in front of
saved files
Fixed bug with matrix caching, causing undos on interpolations to not
refresh affected objects' positions
Moved time bar to the top and made the time indicator red
Merge branch 'master' of git://github.com/richardcd73/ksketch2