MySQL high CPU usage under medium load
Significant problem 1 - table_open_cache
Table cache hit rate: 0% is significantly bad. Identify how many tables are in Magento and increase  the table_open_cache to higher than that.
open_files_limit needs to be higher than this number however (as it includes connections also). High number like 64k are ok.
After that enable your slow_query_log, long_query_time and start identifying slow queries.
As you do have 16G of RAM setting innodb buffer pool size to 4G would be prudent as notably your data size is only 1.2G.
Examine performance again after these changes.