ENH: Add base work on retrieving ks per day

There are still tests that need to be added and make sure that this will
be compatible with Core Plot.
Merge branch 'master' into ks-per-day
TST: Tests now create their own database
API/TST: working getKeystrokesPerDay tests
MAINT: Add core plot to project
ENH/API: Add method to plot keystrokes per day
ENH: Speed-up daily keystrokes query 🚀💥

Limiting the number of records by date makes the execution of this query
much faster:

sqlite> SELECT DATE(timestamp), COUNT(*) FROM keystrokes GROUP BY
date(timestamp) ORDER BY timestamp DESC LIMIT 30;
Run Time: real 28.109 user 16.260543 sys 3.441979

sqlite> SELECT SUBSTR(timestamp, 0, 11), COUNT(*) FROM keystrokes GROUP
BY CAST(JULIANDAY(timestamp) as int) ORDER BY timestamp DESC LIMIT 30;
Run Time: real 21.292 user 11.753725 sys 2.810028

sqlite> SELECT SUBSTR(timestamp, 0, 11), COUNT(*) FROM keystrokes WHERE
timestamp BETWEEN strftime('%Y-%m-%d', 'now', '-30 day', 'localtime')
AND strftime('%Y-%m-%d', 'now', '+1 day', 'localtime') GROUP BY
CAST(JULIANDAY(timestamp) as int) ORDER BY timestamp ASC LIMIT 30;
Run Time: real 3.610 user 2.639545 sys 0.478672
ENH: Add integration of daily keystrokes plot
ENH: Conditionally plot daily keystrokes data
ENH: Beautify daily keystrokes plot 💎
BLD: Add copy phase
MAINT: Update to the latest FMDB

e41c62f7faee65bccd1da219235e2403c93ed3a1
DOC: Fix docs and add licenses
BUG: Fix query to retrieve daily keystrokes

The daily keystrokes were wrong, they are now correct and the query has
a similar performance.
ENH: Close the database before exiting

The delegate was not responding to the protocol method called before the
application was closed. Hopefully this will get rid of the problem found
where a lingering open connection locks the database.
STY: Beautify daily keystrokes plot
ENH: Add some heuristis to re-plot the data
BLD: Use only the core plot famework
MAINT: :lipstick: :chart_with_upwards_trend:

Plot updates every 3% of the maximum number of keystrokes are logged in.
BUG: Fix timer not starting and __previous failing

__previous would not be updated every time you asked to update the plot
on screen, so if you were to request a hard refresh because the day had
changed this would fail.