Load only enough bytes to fill the console
Is your feature request related to a problem? Please describe.
I'm always frustrated when I try to use hx for a very large file. For example, when trying to load a 3.1 GB binary file, it eventually used up 16 GB of RAM before I stopped the process.
Describe the solution you'd like
I think that a potential solution would involve replacing the fs::File::open with an unsafe memmap call. Just that would probably save a lot of memory usage.
Describe alternatives you've considered
Note that I'm not very familiar with the code at all (just started reading it today). That said, another alternative would be to not append the given line to the page.body for all of the bytes ... and maybe the truncate_len used in buf_to_array should be set to the console's number of lines somehow? The difficulty with that second approach is that at each console refresh, another part of the file will need to be parsed.