traitlit 0.2.0

This crate exposes an atribute for implementing traits for integer and float types.
Documentation
# traitlit

This crate defines an attribute called `lit`. This attribute converts a single implementation of a trait to seperate implementations for the specified types.

Let's say I want to define a `Zero` trait using lit.
```rust
pub trait Zero {
    fn zero() -> Self;
}
```
Normaly this would be achived by either manually implementing the trait for the desired types, or by creating a macro to produce a specific set of implementations. Using `lit` we can simply implement it as follows.
```rust
#[lit(V = [usize, isize])]

impl Zero for V {
    fn zero() -> Self {
        0
    }
}
```
This generates two implementations, one for `usize` and one for `isize`. This is very repetitive, as most such traits needs to be implemented by every type in a specific category. To this end `lit` allows you to write `u_` instead of `u8`, `u16`, `u32`, `u64`, `u128`, and `usize`, aswell as `i_` for the corosponding signed types. `lit` also accepts `f_` which corrosponds to `f32` and `f64`. With this the previous example becomes:
```rust
#[lit(V = u_ + i_)]

impl Zero for _ {
    fn zero() -> Self {
        0
    }
}
```
The current implementation would however not work for float types, as `0` is not a float literal. This can be easily remedied using type casting.
```rust
#[lit(V = u_ + i_ + f_)]

impl Zero for V {
    fn zero() -> Self {
        0 as Self
    }
}
```
To simplify the implementation further, we can combine the trait definition and implementation:
```rust
#[lit(V = u_ + i_ + f_)]

trait Zero {
    fn zero() -> Self {
        0 as Self
    }
}
```
This will however assume that all implementations in the trait are part of the individual implementations rather than a default. If you wish to have defaults in your trait, keep the trait and implementation seperate.

You may have noticed the `V` in the annotaion and the `impl` block. You can write any valid identifier instead of `V`, and all instances of that identifier will be substituted sutebly.