Add pre-commit support for sanity checks

Use pre-commit framework [1] to run black and flake8 before the commit.
black and flake8 are managed by the pre-commit framework and they can be
run manually by the user using `pre-commit run` command.

Fix the code base with the help of black and flake8.
Fix import statements according to PEP8 guidelines [1]
Both tools have the following settings (specified in the pre-commit
configuration file):
* line length: 120 characters
* directory to exclude: ethosu/vela/tflite/ and ethosu/vela/ethos_u55_regs

Updated README.md on how to install pre-commit and how to run sanity checks.
Pipenv files have been updated including new dependencies for pre-commit.

[1]: https://www.python.org/dev/peps/pep-0008/#imports
[2]: https://github.com/pre-commit/pre-commit

Change-Id: I304d9fffdf019d390ffa396a529c8a7c2437f63d
Signed-off-by: Diego Russo <diego.russo@arm.com>
diff --git a/ethosu/vela/compiler_driver.py b/ethosu/vela/compiler_driver.py
index db669ac..6fc3b65 100644
--- a/ethosu/vela/compiler_driver.py
+++ b/ethosu/vela/compiler_driver.py
@@ -18,6 +18,8 @@
 # Description:
 # Contains the main sequencing of the compiler.
 
+import time
+
 from . import graph_optimiser
 from . import mark_tensors
 from . import insert_dma
@@ -25,9 +27,6 @@
 from . import scheduler
 from . import tensor_allocation
 from . import npu_performance
-import time
-
-from . import high_level_command_stream
 from . import high_level_command_stream_generator
 from . import register_command_stream_generator
 from . import extract_npu_subgraphs
@@ -36,7 +35,7 @@
 from . import live_range
 from .tensor import MemArea
 from .nn_graph import TensorAllocator, PassPlacement
-from .rewrite_graph import verify_graph_health, verify_subgraph_health
+from .rewrite_graph import verify_graph_health
 
 
 class CompilerOptions: